struts的action返回值问题

Dingxiaowei77 2013-06-14 10:39:34
<?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.objectFactory" value="spring" />
<constant name="struts.i18n.encoding" value="UTF-8" />



<package name="index" namespace="/" extends="struts-default">

<action name="index" method="index" class="manageAction" >
<result name="success1">index.jsp</result>
<result name="success2">login.jsp</result>
</action>

<action name="method" class="manageAction">
<result type="dispatcher">${url}</result>
<result name="redirect" type="redirect">${url}</result>
</action>

</package>


</struts>
这是struts的配置文件,action中所有的例如底下的方法的返回值都是SUCCESS,配置文件中并没有啊,就是这个manageAction中的返回值。新手求解释!!!
public String kechengupdate() {
HttpServletRequest request = ServletActionContext.getRequest();
request.setAttribute("bean", kechengDao.selectBean(" where id= "+request.getParameter("id")));
this.setUrl("kecheng/kechengupdate.jsp");
return SUCCESS;
}
...全文
362 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dingxiaowei77 2013-06-17
  • 打赏
  • 举报
回复
this.setUrl("kecheng/kechengupdate.jsp");返回值为suceess就直接走这个url,所有的都是是怎么回事!
dracularking 2013-06-15
  • 打赏
  • 举报
回复
如果某个result没有指定name属性,那么它默认就是"success"
苏格拉低 2013-06-15
  • 打赏
  • 举报
回复
	<action name="index" method="index" class="manageAction" >
           <result  name="success1">index.jsp</result>
           <result  name="success2">login.jsp</result>
        </action>
这段代码意思是: 通过name属性找到index 然后跳转到manageAction类中。但是 寻找的是 名字为index 这个方法,这是你自己定义的方法名字,没问题。
<action name="method" class="manageAction">
<result type="dispatcher">${url}</result>
<result name="redirect" type="redirect">${url}</result>
</action>
这段代码的意思是:同上,只不过我们没有通过method属性定义方法名字,这个时候对于struts2而言系统会默认寻找一个叫 success 这样的一个方法名。没问题。
rumlee 2013-06-14
  • 打赏
  • 举报
回复
配置中的默认值就是success。
辣不怕 2013-06-14
  • 打赏
  • 举报
回复
是常量,你可以当成java程序中的"true"、"false"等来使用
一叶飞舟 2013-06-14
  • 打赏
  • 举报
回复
SUCCESS是struts2框架中的常量,它的值是success,字符串类型。所以一般在action中写return SUCCESS,那么配置文件中的result就用success。当然这个可以自定义。
菖蒲老先生 2013-06-14
  • 打赏
  • 举报
回复
如果我们不为<action>元素指定class属性,系统则默认使用系统的ActionSupport类,该类的execute方法默认返回SUCCESS; 另外还有

public static final String ERROR=”error”; 
                   public static final String INPUT=”input”; 
                   public static final String LOGIN=”login”; 
                   public static final String NONE=”none”; 
                   public static final String SUCCESS=”success”; 

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧