刚接触struts2,遇到下面的问题,求解答!!
下面是struts.xml中的内容
<package name="user" namespace="/user" extends="struts-default"> <action name="user" class="com.bjsxt.struts2.user.action.UserAction">
<result>${r}</result>
<!--${r}这种写法就代表配置文件里可以用这种方式去读valueStack(值栈)里面的内容-->
</action>
</package>
UserAction内容:
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";
}
}在struts2 3.1.2中这样写<result>${r}</result>会提示借误。问了下说是3.1.2版本中取消了这种写法。我想知道那现在应该怎么写是正确的。找了好多地方都没找到。看doc文档好像也是这样写的。求解!!
下面是struts.xml中的内容
<package name="user" namespace="/user" extends="struts-default"> <action name="user" class="com.bjsxt.struts2.user.action.UserAction">
<result>${r}</result>
<!--${r}这种写法就代表配置文件里可以用这种方式去读valueStack(值栈)里面的内容-->
</action>
</package>
UserAction内容:
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";
}
}在struts2 3.1.2中这样写<result>${r}</result>会提示借误。问了下说是3.1.2版本中取消了这种写法。我想知道那现在应该怎么写是正确的。找了好多地方都没找到。看doc文档好像也是这样写的。求解!!
<package name="user_*" namespace="/user" extends="struts-default">
<action name="user" class="com.bjsxt.struts2.user.action.UserAction">
<result>/{1}.jsp</result>
</action>
</package>
*号对应返回页面,如果你想返回login.jsp,你连接action的时候就写为:user_login
action:
if xxx{
return "success";
} else if xxx{
return "error";
}struts.xml:
<result name="success">/user_success.jsp</result>
<result name="error">/user_error.jsp</result>