正文
Struts2的处理结果(三)——动态配置结果
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
Struts2的处理结果(三)
——动态配置结果
1.使用表达式语法
示例:
<struts> <constant name="struts.enable.DynamicMethodInvocation" value="false" /> <constant name="struts.devMode" value="true" /> <package name="package_a" extends="struts-default"> <!-- 此action匹配所有为test_*.action模式的请求 --> <action name="test_*" class="testAction.TestAction" method="{1}"> <result name="error">error.jsp</result> <result>{1}.jsp</result> </action> </package></struts>
现有test_success.action请求,符合test_*的格式,匹配的方法为success()方法,其逻辑视图映射的物理视图资源为success.jsp。
2.由Action的属性值确定物理视图资源
通过使用${属性名.属性名....}的方式确定物理视图资源。
示例:
(1)写一个Action类,其中包含一条属性name:
package testAction;import com.opensymphony.xwork2.ActionSupport;public class Test1Action extends ActionSupport{ //封装的请求参数 private String name; //setter、getter方法 public void setName(String name){ this.name = name; } public String getName(){ return this.name; } //处理请求的逻辑方法 public String execute()throws Exception{ if(name.equals("jiagoushi")){ return SUCCESS; }else{ return ERROR; } }}
(2)提交Action的页面welcome.jsp
<form action="test1" method="post"> <input type="text" name="name"> <input type="submit" value="提交"></form>
(3)物理视图资源jiagoushi.jsp
(4)配置struts.xml文件
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"><struts> <constant name="struts.enable.DynamicMethodInvocation" value="false" /> <constant name="struts.devMode" value="true" /> <package name="package_a" extends="struts-default"> <action name="test1" class="testAction.Test1Action"> <result name="error">error.jsp</result> <result>${name}.jsp</result> </action> </package></struts>
通过了Action的属性name找到了对应的物理视图资源。