Struts2 页面url请求如何找action

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/>

Struts2 页面url请求如何找action,码迷,mamicode.com

时间: 2024-08-02 13:46:44

Struts2 页面url请求如何找action的相关文章

Struts2 页面url请求怎样找action

1.我们使用最原始的方法去查找action.不同注解. struts.xml文件先配置 <!-- 新闻信息action --> <action name="newsInfoAction" class="com.xxx.NewsInfoAction"> <result name="add">news/addNewsInfo.jsp</result> <result name="upda

Struts2框架action路径问题心得----》页面url请求怎么找action

Struts2 页面url请求怎么找action Struts2 页面url请求如何找action 1.我们使用最原始的方法去查找action,不同注解. struts.xml文件先配置 <!-- 新闻信息action --><action name="newsInfoAction" class="com.xxx.NewsInfoAction"><result name="add">news/addNewsIn

SpringMVC(三)URL请求到Action的映射规则

在SpringMVC(二)经典的HelloWorld实现我们展示了一个简单的get请求,并返回了一个简单的helloworld页面.本篇我们来学习如何来配置一个action的url映射规则. 在SpringMVC(二)经典的HelloWorld实现我们在HelloWorldController上配置了一个@RequestMapping(value = "/helloworld")这表示对该controller的所有action请求必须是以"/helloworld"开

SpringMVC 之URL请求到Action的映射(1)

URL路径映射 1.1.对一个action配置多个URL映射: @RequestMapping(value={"/index", "/hello"}, method = {RequestMethod.GET}),这表示对该action配置了/index和/hello两个映射.运行测试,可以看到/helloworld/hello请求也成功匹配. 1.2.URL请求参数映射: 这在查询的时候经常用到,比如我们根据id或编号来获取某一条记录. 在HelloWorldCon

Struts2配置详解_配置Action

Struts2的核心功能是action,对于开发人员来说,使用Struts2主要就是编写action,action类通常都要实现com.opensymphony.xwork2.Action接口,并实现该接口中的execute()方法. public String execute() throws Exception Struts2并不是要求所有编写的action类都要实现Action接口,也可以直接编写一个普通的Java类作为action,只要实现一个返回类型为String的无参的public方

Struts2页面开发中常用标签使用说明

1. Struts2页面开发中常用标签使用说明 1.1.往action里传值的使用方式: <input name="userName" type="text" class="input6" size="15"> a. userName属性需要在访问的action中提供相应的属性,并有SET/GET方法. b. 可以不在访问的action中提供相应的属性,用request. getParameter_r(“userN

深入分析JavaWeb 44 -- Struts2开发核心之动作类Action

一.Action动作类(一般用**Action结尾) struts2 的Action可以是POJO(Plain Old Java Object) 为了让用户开发的Action更加规范struts2提供了一个Action接口 通过method属性指定Action执行方法 没有指定method属性,默认执行execute方法 <action name="addCustomer" class="xgp.struts.actions.CustomerAction" /

struts2学习笔记(4)---------action中的方法调用

系统需要使用Action的不同方法来处理用户请求,这就需要让同一个Action里面包含多个控制处理逻辑. 1)动态方法调用 即DMI(dynamic method invocation),使用actionName!methodName的形式来指定想要调用的方法,如果想使用DMI,需要在struts.xml里面加入这句话: <constant name="struts.enable.DynamicMethodInvocation" value="true" /&

Struts2中&lt;jsp:forward page=&quot;xxx.action&quot;&gt;&lt;/jsp:forward&gt;失效

问题:在Struts2中<jsp:forward page="xxx.action"></jsp:forward>失效了,不但调转不过去还报404错误.不知道是Struts2中不支持还是需要其他的配置. 原因:因为struts2采用过滤器的方式处理请求,默认情况时监控url地址的变化 解决办法1.配置web.xml 解决 [html] view plaincopyprint? <filter-mapping> <filter-name>s