struts2 redirect-action 传递 参数

    在做一个系统,使用struts2框架,在提交一个请求后,将获取的数据对象再要生成一个序列号,为了防止刷新生成冗余序列号,就在请求处理完成后,直接重定向到显示该信息的action中:

 

<action name="enterpreinfo" class="preinfoBusinessAction"    method="enterPreinfoSub">  
  <result name="success" type="redirect-action">  
     showpreinfo?preinfo.order_number=${preinfo.order_number}&amp;preinfo.company_name=${preinfo.company_name}   
  </result>  
 <result name="error" type="redirect">  
    <param name="location">/error.jsp</param>  
 </result>  
</action>

 

因为使用了redirect-action,所以要注意不能将showpreinf?preinfo.order_number=${preinfo.order_number}写成showpreinf.action?preinfo.order_number=${preinfo.order_number}

在这个配置文件里,多个参数的连接符使用了"&amp;",但XML的语法规范,应该使用"&amp;"代替"&",原理和HTML中的转义相同,开始没有注意,在struts分析配置文件时,总是报出这样的错误:

The reference to entity "preinfo" must end with the ';' delimiter.
<action name="editmenu" class="LunchClassPackage.MenuAction" method="UpdMenu">
    <result name="success" type="redirect-action">
        <param name="actionName">managemenu </param>
        <param name="companyId">${companyId} </param>
  </result>
</action>
官方文档:
<package name="public" extends="struts-default">
    <action name="login" class="...">
        <!-- Redirect to another namespace -->
        <result type="redirect-action">
            <param name="actionName">dashboard</param>
            <param name="namespace">/secure</param>
        </result>
    </action>
</package>

<package name="secure" extends="struts-default" namespace="/secure">
    <-- Redirect to an action in the same namespace -->
    <action name="dashboard" class="...">
        <result>dashboard.jsp</result>
        <result name="error" type="redirect-action">error</result>
    </action>

    <action name="error" class="...">
        <result>error.jsp</result>
    </action>
</package>

<package name="passingRequestParameters" extends="struts-default" namespace="/passingRequestParameters">
   <-- Pass parameters (reportType, width and height) -->
   <!--
   The redirect-action url generated will be :
   /genReport/generateReport.action?reportType=pie&width=100&height=100
   -->
   <action name="gatherReportInfo" class="...">
      <result name="showReportResult" type="redirect-action">
         <param name="actionName">generateReport</param>
         <param name="namespace">/genReport</param>
         <param name="reportType">pie</param>
         <param name="width">100</param>
         <param name="height">100</param>
      </result>
   </action>
</package>
自己的代码:
<!-- 删除文章 -->
		<action name="articleDel" class="articles.action.ArticleAction"
			method="delArticle">
			<result name="authorDelArticle" type="redirect-action">
				articlesList?do=del
			</result>
			<result name="adminDelArticle">
				/admin/articlesList.jsp
			</result>
		</action>    或用下面的代替
<result name="authorDelArticle" type="redirect">
    articlesList.action?do=del
 </result>
想解决的问题是怎么用
<param name="do"></param>成功传值,一直失败中!
警告: Caught OgnlException while setting property 'reportType' on type 'org.apache.struts2.dispatcher.ServletActionRedirectResult'.
ognl.NoSuchPropertyException: org.apache.struts2.dispatcher.ServletActionRedirectResult.reportType
上述问题是说我 没有setting property 这个属性,我去实验下。。。
Under JSP 2.1 the # character is now used by the JSP EL. 

This may cause problems with some applications that use the OGNL # operator. 

One quick-fix is to disable the JSP EL in a JSP 2.1 container (like GlassFish) by adding a jsp-config element to the web.xml

<jsp-config>
    <jsp-property-group>
      <url-pattern>*.jsp</url-pattern>
      <el-ignored>true</el-ignored>
    </jsp-property-group>
  </jsp-config>
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值