在测试struts2标签的时候遇到了一个问题,怎么想也想不明白
index.jsp
<s:url var="aurl" namespace="/" action="aurl">
<s:param name="number" value="zhaoyp" />
<s:param name="password" value="123"/>
<s:param name="age" value="11"/>
</s:url>
url:<s:property value="%{aurl}" />
<s:a href="%{aurl}">s:a和s:url使用</s:a>
action:
public class AurlAction extends ActionSupport implements SessionAware {
private static final long serialVersionUID = -795351427940115962L;
private String number;
private String password;
private Integer age;
private Map<String, Object> sessionMap;
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String execute() throws Exception {
System.out.println("number = " + number + " , password = " + password + ", age = " + age);
sessionMap.put("number", number);
sessionMap.put("password", password);
sessionMap.put("age", age);
return SUCCESS;
}
public void setSession(Map<String, Object> map) {
Set<Map.Entry<String, Object>> set = map.entrySet();
for (Iterator iterator = set.iterator(); iterator.hasNext();) {
Entry<String, Object> entry = (Entry<String, Object>) iterator
.next();
System.out.println("key = " + entry.getKey() + " , value = " + entry.getValue());
}
sessionMap = map;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Map<String, Object> getSessionMap() {
return sessionMap;
}
public void setSessionMap(Map<String, Object> sessionMap) {
this.sessionMap = sessionMap;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
}
Struts.xml
<action name="aurl" class="com.tag.action.AurlAction"> <result name="success">aurl.jsp</result> </action>
输出页面:
<body>
<s:debug />
用户名:<s:property value="%{number}"/> <br>
密码: <s:property value="%{password}"/><br>
age:<s:property value="%{age}" /><br>
session:<s:property value="%{sessionMap}"/>
</body>
我用的struts2.2.1,怎么都无法取到number的值,但是password和age就ok,sessionMap中也只有password和age,没有number