struts result动态结果集 带参数的结果集

<?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>
    <constant name="struts.devMode" value="true" />
    <package name="user" namespace="/user" extends="struts-default">
       
        <action name="user" class="com.bjsxt.struts2.user.action.UserAction">
            <result>${r}</result>
        </action>       
    </package>
       
</struts>

 

${r}可以取其action类中对应的属性r的值,但是这个不是EL表达式是OGNL

重定向传参数也可以用到,重定向就不会共享一个值栈了。重定向到一个jsp,因为没有访问一个Action,所以值栈会变成空的。

<?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>
    <constant name="struts.devMode" value="true" />
    <package name="user" namespace="/user" extends="struts-default">
       
        <action name="user" class="com.bjsxt.struts2.user.action.UserAction">
            <result type="redirect">/user_success.jsp?t=${type}</result>
        </action>       
    </package>
       
</struts>

 

 

重定向的页面:

<?xml version="1.0" encoding="GB18030" ?>
<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
    <%@taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030" />
<title>UserSuccess</title>
</head>
<body>
    User Success!
    from valuestack: <s:property value="t"/><br/>这里是取不到的,值栈是空的。
    from actioncontext: <s:property value="#parameters.t"/>只能从context中取,所以要加#
    <s:debug></s:debug>
</body>
</html>

原文地址:https://www.cnblogs.com/flying607/p/3469749.html