您的位置:首页 > 编程语言 > Java开发

Struts标签<s:action>的使用详解

2016-04-08 17:36 603 查看
最近在做一个项目的时候在我的一个功能中我需要在进入一个jsp页面的时候 先自动执行action类,可是在执行后页面的数据正常,但是在后台报了ERROR - Could not execute action: /introduce/introdMatchAction_queryintrod

javax.servlet.ServletException: File "/introduce/introduce/introduce.jsp" not found异常

我写的jsp页面的代码 <s:action name="introdMatchAction_queryencyc" executeResult="true"></s:action>

<s:action name="introdMatchAction_queryfuture" executeResult="true"></s:action>

<s:action name="introdMatchAction_queryintrod" executeResult="true"></s:action>

每个action执行完之后都返回到introduce/introduce.jsp页面上。一开始我觉得只要页面不出错就不管,可是每次运行都报错是在太恶心,所以就上网搜了一下,发现这个问题其实是我对于Struts表的action标签不熟悉而出错的,我们先来看一下action标签的参数

id: 可选属性,作为该Action的引用ID

name:必选属性,指定调用Action

namespace:可选属性,指定该标签调用Action所属namespace

executeResult:可选属性,指定是否将Action的处理结果包含到本页面中.默认值为false,不包含.

ignoreContextParam:可选参数,指定该页面的请求参数是否需要传入调用的Action中,默认值是false,

看这个参数executeResult,我把他设置成了true,意思就是执行完这一句之后把数值型的数据保存到本界面,而我们本来在执行完action类之后就返回到本界面,数据也就传了回来,所以才会报了那样的异常,而页面的数据并没有出错(数据是经由Struts.xml传过来的,并不是标签传回的值)

解决方法:删掉executeResult="true"或者改executeResult="true"为executeResult="false"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: