Result学习笔记(二) - 动态结果集
动态结果 一定不要忘了为动态结果的保存值设置set get方法
第一部分:代码
//前端
<% String context = request.getContextPath(); %> <!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>Insert title here</title>
</head>
<body>
<ol>
<li><a href="user/user?type=1">返回success</a></li>
<li><a href="user/user?type=2">返回error</a></li>
</ol>
</body>
</html>
//web.xml
<struts>
<constant name="struts.devMode" value="true" />
<package name="user" namespace="/user" extends="struts-default">
<action name="user" class="com.struts2.user.action.UserAction">
<result>${r}</result>
</action>
</package>
</struts>
//类包
package com.struts2.user.action;
import com.opensymphony.xwork2.ActionSupport;
public class UserAction extends ActionSupport {
private int type;
private String r; public String getR() {
return r;
} public void setR(String r) {
this.r = r;
} public int getType() {
return type;
} public void setType(int type) {
this.type = type;
} @Override
public String execute() throws Exception {
if(type == 1) r="/user_success.jsp";
else if (type == 2) r="/user_error.jsp";
return "success";
}
}
第二部分:配置分析
web.xml:
result部分:
<result>${r}</result>
类包分析:
private String r;
public String execute() throws Exception {
if(type == 1) r="/user_success.jsp";
else if (type == 2) r="/user_error.jsp";
return "success";
}
类包中有成员变量,是依据其它条件动态确定值jsp,在配置文件${r}表示能够在值栈里取值。
结论:
能够用一个属性保存一个结果;
结果能够由我们动态确定。
在struct.xml能够用<result>${r}</result>来去里面的值;