求解:Struts2.3.16中,struts.xml配置result name时,无法用自定义的返回值。

struts.xml中的配置:<actionname="Category"class="com.test.struts2.action.CategoryAction"><... struts.xml中的配置:

<action name="Category" class="com.test.struts2.action.CategoryAction">
<result>/index.jsp</result>
<result name="list">/Category_list.jsp</result>
<result name="add">/Category_add.jsp</result>
<result name="delete">/Category_delete.jsp</result>
</action>
CategoryAction中:
public String list() {
Category c;
for(int i=0;i<5;i++)
{
c = new Category(i,"name"+i,"description"+i);
categories.add(c);
}
return "list";
}

public String add() {
return "add";
}

public String delete() {
return "delete";
}
展开
 我来答
sun930302
2014-03-23
知道答主
回答量:16
采纳率:0%
帮助的人:13.2万
展开全部
按照你的写法 应该
<action name="list" class="com.test.struts2.action.CategoryAction" method=“list”>
<action name="add" class="com.test.struts2.action.CategoryAction" method=“add”>
<action name="delete" class="com.test.struts2.action.CategoryAction" method=“delete”>
写上对应的返回值和跳转页面就好了,一个Action一般对应一个方法
如果不写method方法他会调用Action中默认的方法
更多追问追答
追问
我使用的是struts的动态方法调用。使用struts2.3.16的jar是不能实现自定义的返回值。同样的代码使用2.1.6的jar就没有问题。我想知道的是struts2.3.16不再支持这种写法了,还是在2.3.16中有新的写法。
追答
按照你的意思,还需要开启一个开关,才能使用你这样的调用

不过官网不推荐使用这种方法,我一般都指定method方法,这样对我来说可能更直观,你可以参考下
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式