我希望当添加数据成功后,自动转到list页面。
起先我在struts.xml中是这样设置的
<action name="add" class="addBean" method="add">
     <result>list.action</result>
</action>
但是当我添加数据完毕,点击提交后,系统告诉我404错误。说crm/emp/list.action not available.
奇怪是当我自己在地址栏里敲: http://localhost/crm/emp/list.action却正确显示结果。后来将设置改成
<action name="add" class="addBean" method="add">
    <result type="redirect">list.action</result>
</action>
工作正常。
难道一个可以工作的URL,在不是redirect的情况下就无法访问了吗?以下是struts.xml的全文。<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<constant name="struts.objectFactory" value="spring" />
<!-- /crm/emp/add.action -->
<package name="crm_employee" extends="struts-default"
namespace="/emp">
<action name="add" class="addBean" method="add">
<result type="redirect">list.action</result>
</action>
<action name="list" class="listBean" method="list">
<result>/emp/list.jsp</result>
</action>
<action name="delete" class="deleteBean" method="delete">
<result>list.jsp</result>
</action> </package></struts> 

解决方案 »

  1.   

    redirect 是重定向的意思 告诉strut2我要把页面定位到这个请求上去
    不带的话相当于返回的是个jsp
      

  2.   

    REDIRECT不帶參數,適用于直接返回靜態頁面,例如LOGIN
    如果你只想跳轉到LIST,你不需要加REDIRECT,我相信你LIST這個頁面肯定帶參數,而且如果你真的是要重定向ACTION的話建議用CHAIN
      

  3.   

    redirect是重定向不带参数用forward就能带参数跳转我估计你这个有可能是路径问题你把这个写成绝对路径试试看<action name="add" class="addBean" method="add">
      <result>/crm/emp/list.action</result>
    </action>
      

  4.   

    redirect是重定向不带参数用forward就能带参数跳转我估计你这个有可能是路径问题你把这个写成绝对路径试试看<action name="add" class="addBean" method="add">
      <result>/crm/emp/list.action</result>
    </action>不行:返回结果404,系统会自动将webapplication的名字加到绝对路径上。description The requested resource (/crm/crm/emp/list.action) is not available.