1.我们使用最原始的方法去查找action,不同注解。
struts.xml文件先配置
<!-- 新闻信息action -->
<action name="newsInfoAction" class="com.xxx.NewsInfoAction">
<result name="add">news/addNewsInfo.jsp</result>
<result name="update">news/editNewsInfo.jsp</result>
<result name="dataList">news/newsInfo.jsp</result>
</action>
action 默认执行的是NewsInfoAction中的excute方法。 http://localhost:8080/test/newsInfoAction.html 或者http://localhost:8080/test/newsInfoAction.action 看你如何在struts.xml文件中的配置(
<!-- 修改后缀 -->
<constant name="struts.action.extension" value="action,html" /> )
那么有一个疑问,我们怎么访问NewsInfoAction中的其他方法呢?
访问指定方法
方式一:
http://localhost/struts2/simple/hello!say.action
可以调用hello这个action中的say方法
方式二:
http://localhost/struts2/simple/hello.action?method:say=xxx
可以调用say方法,在这里,参数的名称是:method:say,这是最主要的,struts2正是
根据参数的名称来决定该调用哪个方法,而不是参数的值,所以参数的值可以是任意的
方式三:
struts2的配置文件的action标签中存在一个method属性,用来指定访问特定的方法
<action name="hello" class="helloAction" method="say">
方式四:
<action name="hello_*" class="helloAction" method="{1}">
这样在页面中的action路径可写为hello_say.action就是访问say方法了。
2.如果struts2已经交给spring容器管理了,我们就可以通过注解来找action以及该action的方法了。(推荐使用这种方法,这样我们你就不用在struts.xml文件中再去配置各种action,可以给struts.xml减肥啦。)
url为 :http://localhost:8080/test/admin/editproduct.html?productInfoId=1 //参数可有可无
@SuppressWarnings("unchecked")
@Action(value = "/admin/editproduct", results = { @Result(name = "update", location = "product/editProductInfo.jsp") })
public String toUpdateProductInfo() throws Exception {
。。。。。。。
}
配置文件只需要配置注解即可:
<mvc:annotation-driven />
<context:annotation-config></context:annotation-config>
不能简写成<context:annotation-config/>
分享到:
相关推荐
8.1.1 页面上:如何使用自定义结果组件构建Struts 2 Ajax应用程序 171 8.1.2 实现JSON结果类型 173 8.2 常用的结果类型 180 8.2.1 RequestDispatcher,也叫做dispatcher 180 8.2.2 ServletRedirectResult,也叫做...
该属性指定需要Struts 2处理的请求后缀,该属性的默认值是action,即所有匹配*.action的请求都由Struts 2处理.如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,)隔开. struts.serve.static 该属性设置是否...
用URL扩展名来确定是否这个请求是被用作Struts action,其实也就是设置 action的后缀,例如login.do的'do'字。 struts.configuration The org.apache.struts2.config.Configuration implementation class org....
该属性指定需要Struts 2处理的请求后缀,该属性的默认值是action,即所有匹配*.action的请求都由Struts 2处理。 如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,)隔开。 --> <constant name="...
使用Struts的Action来对数据库进行增、删、改、查四项操作 <br/>1、数据库MySQL,创建数据库 Pagination MySQL.sql用来创建表结构 <br/>连接方式有两种,一种直接JDBC,一种通过连接池,代码中有说明...
<?xml version="1.0" ... org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter <!-- 拦截所有的url --> <filter-name>struts2 <url-pattern>/*</url-pattern> </web-app>
java发送url请求进行文件的提交以及后台struts2的action接收处理 1、java模拟表单方式发送url请求进行文件的提交 /** * * @作者 王建明 * @创建日期 2013-06-27 * @创建时间 19:28:18 * @...
3.2. Struts2的Action调用业务逻辑 - 19 - 3.2.1. 登录Action--OpenIDLoginAction - 19 - 3.2.2. 进入的Action—FirstPageAction - 20 - 3.3. JSP页面 - 20 - 3.4. 运行示例 - 21 - 3.4.1. 登录 - 21 - 3.4.2. ...
struts2的深入理解内核解析,当请求url时候,struts容器干了什么,action什么时候被创建,valuestack什么时候被创建
1. 客户端发送一个请求,如果.do结尾的url请求,提交给struts框架的ActionServlet来处理。 2. ActionSevlet首先调用struts配置文件(struts-config.xml),如果有表单提交,需要自动填充ActionForm Bean(找struts配置...
-- 指定请求url与action映射器,默认为org.apache.struts2.dispatcher.mapper.DefaultActionMapper
书中介绍了如何利用Struts 2 来解决Web 应用开发中的常见问题,同时还深入浅出地探讨了许多能帮助程序员编写Struts 2 应用程序的技巧,如管理页面导航活动、输入验证、国际化和本地化、对Ajax 的支持,等等。...
>>> prefix=""// 指定填充当前 Action 关联 FormBean 时 ,要添加到请求参数名称的前缀,因此,如果请求参数名为 "username" 并且 prefix 属性被设置为 "search" , 则将对 FormBean 调用一个名为 ...
Struts开发指南之工作流程下图是Struts的工作流程,前边我们提到,所有的请求都提交给ActionServlet来处理。 ActionServlet是一个FrontController,它是一个标准的Servlet,它将request转发给RequestProcessor来...
Struts框架的总控制器ActionServlet是一个Servlet,在web.xml中配置成自动启动的Servlet,在启动时总控制器会读取配置文件(struts-config.xml)的配置信息,为Struts中不同的模块初始化相应的对象。(面向对象思想) ...
c. 页面调用Action请求,Action中注入WebService实例bean; Action对应方法直接调用第三方WebService的相关方法; d. 测试; 备注: 1. 步骤b,接口文件必须同包名同类名置于src目录下; 开发一个Action调用关联...
4、访问流程 url -> filter -> struts.xml -> package -> action -> name="userAction_*" -> class -> method="{1}" 5、核心struts.xml 6、提交策略 图片预览 个人信息完善 7、crud 增删改查 搜索 多删 假删 ...
它进入web.xml,发现自己需要经历struts2这个过滤器,于是在这个过滤器里,应用把工作交给了struts,在struts配置中找到getDesc这个控制器, <action name="getDesc" class="DescAction" method="getDesc"> ...