`

Struts2学习笔记---action的简单使用

阅读更多

具体视图的返回可以由用户自己定义的Action来决定
具体的手段是根据返回的字符串找到对应的配置项,来决定视图的内容
具体Action的实现可以是一个普通的java列,里面有public String execute方法即可
或者实现Action接口

 

struts.xml文件(注意必须放在src路径下,不能放在里面的包里)

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
    <!-- Add packages here -->
	<constant name="struts.devMode" value="true" />
    <package name="front" extends="struts-default" namespace="/">
        <action name="test" class="org.hualang.strutsaction.Test1">
            <result name="success">/index.jsp</result>
        </action>
    </package>
</struts>

 
然后在src目录下创建包org.hualang.strutsaction,在里面创建三个类,分别为Test1.java,Test2.java,Test3.java

 

package org.hualang.strutsaction;

public class Test1 {
	public String execute()
	{
		return "success";
	}
}

 第一种,如果没有写execute()就不能调用了,

而且也不能调用各种各样的方法

package org.hualang.strutsaction;

import com.opensymphony.xwork2.Action;

public class Test2 implements Action {

	public String execute() throws Exception {
		// TODO Auto-generated method stub
		return "success";
	}
}

 

第二种实现接口,但是用不了方法,所以不好

package org.hualang.strutsaction;

import com.opensymphony.xwork2.ActionSupport;

public class Test3 extends ActionSupport {

	@Override
	public String execute(){
		// TODO Auto-generated method stub
		return "success";
	}
}

 

当没有匹配的时候,默认执行的是自己的class,叫作ActionSupport.class

真正开发的时候,只用Test3中的继承ActionSupport,原因是ActionSupport已经封装了一

系列可以直接调用的方面的方法,这样就可以在子类中直接调用,所以在企业开发的时候只用第三种

 

下面是运行结果


 

其他:Struts1与Struts2的一个小区别

 struts2每次访问action的时候都会有new一个新的action对象,struts1则是一直使用同一

个action对象

 

  • 大小: 8.7 KB
分享到:
评论
13 楼 xiaoxiao_0311 2011-05-09  
好好学吧。。。。这个。。。。太浅。。。。
12 楼 gteam.yu 2011-05-08  
其实你应该把你的web.xml也贴出来,是struts2用的filter的类是不同的,呵呵,希望你的帖子写的会火一些。
11 楼 7454103 2011-05-08  
hualang 写道
332946505 写道
其实struts1和struts2的区别还挺多的...
虽然大致类型..

恩,就是。现在企业一般不用struts1了,所以如果直接从struts2开始学习其实不错,struts2跟以前的webwork差不多,跟struts1基本上不一样,呵呵

也许吧! 经典的东西不会那么快消失的!
10 楼 anglestudio 2011-05-08  
我一般都不extends ActionSupport
Action里面的方法名你可以自由定制的,加个拦截就好
9 楼 senhui19 2011-05-07  
struts.xml配置文件是可以修改存放地方的,action里面也不一定要有execute方法。好好看看官网的DEMO吧,呵
8 楼 forever8tf 2011-05-07  
一般只用第三种方式。
7 楼 xici_magic 2011-05-07  
1和2区别其实还是很大的。
6 楼 java_林 2011-05-07  
<div class="quote_title">hualang 写道</div>
<div class="quote_div">
<p> </p>
<pre name="code" class="java">package org.hualang.strutsaction;

public class Test1 {
public String execute()
{
return "success";
}
}</pre>
<p> 第一种,如果没有写execute()就不能调用了,</p>
<p>而且也不能调用各种各样的方法</p>
<p> </p>
<p> </p>
<pre name="code" class="java">package org.hualang.strutsaction;

import com.opensymphony.xwork2.Action;

public class Test2 implements Action {

public String execute() throws Exception {
// TODO Auto-generated method stub
return "success";
}
}</pre>
<p> </p>
<p>第二种实现接口,但是用不了方法,所以不好</p>
<pre name="code" class="java">package org.hualang.strutsaction;

import com.opensymphony.xwork2.ActionSupport;

public class Test3 extends ActionSupport {

@Override
public String execute(){
// TODO Auto-generated method stub
return "success";
}
}</pre>
<p> </p>
</div>
<p>action与actionSupport与你调用各种各样的方法无关,第一种情况下,你也可以调用各种各样的方法。它们不是必须的,只不过让你开发的更方便</p>
5 楼 hualang 2011-05-06  
justinyao 写道
刚毕业出来的吧,还是培训?

还没有出来呢
4 楼 justinyao 2011-05-06  
刚毕业出来的吧,还是培训?
3 楼 error_lei 2011-05-05  
Could not find property [struts.actionMapping]
2 楼 hualang 2011-05-05  
332946505 写道
其实struts1和struts2的区别还挺多的...
虽然大致类型..

恩,就是。现在企业一般不用struts1了,所以如果直接从struts2开始学习其实不错,struts2跟以前的webwork差不多,跟struts1基本上不一样,呵呵
1 楼 332946505 2011-05-05  
其实struts1和struts2的区别还挺多的...
虽然大致类型..

相关推荐

    struts2学习笔记

    struts2学习笔记,拦截器,action,所需jar包,从零开始

    struts2 学习笔记 实战

    Namespace决定了action的访问路径,默认为“”,可以接收所有路径的action,如果没有找到相应的namespace时,则使用namespace为空的action Namespace可以写为/,或者/xxx,或者/xxx/yyy,对应的action访问路径为/...

    Groovy学习笔记 Struts2集成--Groovy类作为Action

    NULL 博文链接:https://rsljdkt.iteye.com/blog/859059

    Struts2 学习笔记

    01 Struts2-Action 5 一、 Struts作用: 5 二、 搭建Struts2的运行环境: 5 三、 Namespace 6 四、 标签 6 五、 Action 6 六、 路径问题的说明 8 七、 Action的动态调用方法 8 八、 Action通配符(wildcard)的配置 9 ...

    struts2学习笔记!

    struts2学习笔记!因为还没有全部学完,所以分部分分享!主要内容:struts.xml配置,web.xml配置 Action要点!全局类型转换,部分类型转换,类型转换文件 类型装换错误的处理问题局部使用,把中文汉字转换为编码 struts2对...

    Struts2_Action学习笔记、通配符{1},{2}

    Struts2_Action学习笔记、通配符{1},{2}......

    struts2学习笔记,总结了很多学习的经验

    struts2学习笔记,总结了很多学习的经验,标签的使用,action的使用。struts2.0 和 struts2.1 的区别

    struts项目学习笔记

    Struts2 是一个非常优秀的MVC框架,基于Model2 设计模型 由传统Struts1和WebWork两个经典框架发展而来 Struts2框架=Struts2+XWork Strust2 核心功能 允许POJO(Plain Old Java Objects,简单javabean对象,没有继承,...

    struts2学习笔记 很基础 容易懂

    struts2学习笔记 很基础 容易懂第一个struts2的web用户登录工程:创建一个web工程-&gt;创建login.jsp(创建advanced的JSP)-&gt;登录的form表单(注意:action=“login.action”)-&gt;编写完成后配置

    struts2.2学习笔记

    struts2.2学习笔记总结,action,拦截器,过滤器,国际化,struts.xml解析等的总结。

    struts1.2学习笔记

    struts1.2学习笔记了解struts工作流程: 首先struts基于MVC模式, 用户发送的请求讲被ActionServlet处理,转发,但是它是怎样实现的了??

    struts学习笔记

    建立一个Java Web项目,提取最少运行Struts2应用的包集合,目标:实现一个简单的用户登录 包括内容: 一、先实现登录页面 二、实现处理页面的Action 三、配置Web.xml 四、配置Action处理结果和资源资源之间的映射关系 ...

    【张冰Struts2学习笔记】0201_Action接口与ActionSupport类

    NULL 博文链接:https://coderdream.iteye.com/blog/812871

    Java学习笔记-个人整理的

    \contentsline {chapter}{Contents}{2}{section*.1} {1}Java基础}{17}{chapter.1} {1.1}基本语法}{17}{section.1.1} {1.2}数字表达方式}{17}{section.1.2} {1.3}补码}{19}{section.1.3} {1.3.1}总结}{23}{...

    struts学习笔记(2)

    当前struts2的filter过滤到一个.action结尾的请求的时候,会把这个请求交给struts2内部的拦截器(interceptor) 2)拦截器起到什么作用 可以帮我们丰富action的功能,比自动类型转换(页面传一个String类型的id,接收的...

    Struts1.3 备忘笔记

    Struts 1.3 备忘笔记 【资源特点】 1、以项目形式组织,包含所有的源代码 2、内含详细的注释说明 3、知识点较全面 【内容目录】 01 Struts_01HandworkApply : 手工配置Struct应用程序,演示用户提交数据后服务器的...

    struts学习笔记(3)

    当客户端向action发送请求并且最后跳转到另外一个页面的时候,在跳转的同时,struts2框架会帮我们自动把需要传到页面的值放这两个对象当中去,然后我们在页面就可以使用固定的方式把值从这个两个对象里面取出来了。...

    Struts 2.1.8_学习源码

    Struts2_04ActionResultType : Struts2关于Action跳转类型的应用 对各种不同的跳转类型使用的实例 Struts2_05Interceptor : Struts2拦截器的使用 Struts2_06FileUpload : Struts2上传文件的使用

    struts2的学习笔记+测试源代码

    struts2中action路径的搜索顺序 博文链接:https://wuzhaohuixy-qq-com.iteye.com/blog/710102

    Struts2学习笔记(2)-路径问题解决

    本文主要介绍Struts2的路径问题,尽量不要使用相对路径,使用相对路径会让路径问题变得很繁琐很麻烦,推荐使用绝对路径,希望能给大家做一个参考。

Global site tag (gtag.js) - Google Analytics