struts的action返回值问题
<?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;
}
------解决方案--------------------如果我们不为<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”;
------解决方案--------------------SUCCESS是struts2框架中的常量,它的值是success,字符串类型。所以一般在action中写return SUCCESS,那么配置文件中的result就用success。当然这个可以自定义。
------解决方案--------------------是常量,你可以当成java程序中的"true"、"false"等来使用
------解决方案-------------------- <action name="index" method="index" class="manageAction" >
<result name="success1">index.jsp</result>