struts2 action转发 参数取不到值
代码片段:struts.xml<actionname="delete"method="delete"class="com.htgl.action.CompletedAct...
代码片段:
struts.xml
<action name="delete" method="delete" class="com.htgl.action.CompletedAction">
<result name="success" type="redirectAction">
<param name="actionName">getallById.action</param>
<param name="contractId">${contractId}</param>
</result>
</action>
action中
private long contractId;设置了get set方法
redirectAction 如果没有的话 跳转的必须是jsp页面 重定向到action 照理说action里面的属性是保存在valueStack里面的 就算不是同一个request对象也应该能得到数据 展开
struts.xml
<action name="delete" method="delete" class="com.htgl.action.CompletedAction">
<result name="success" type="redirectAction">
<param name="actionName">getallById.action</param>
<param name="contractId">${contractId}</param>
</result>
</action>
action中
private long contractId;设置了get set方法
redirectAction 如果没有的话 跳转的必须是jsp页面 重定向到action 照理说action里面的属性是保存在valueStack里面的 就算不是同一个request对象也应该能得到数据 展开
4个回答
展开全部
首先。你的action有问题。
list不应该是方法体里的变量,list需要有get set 方法。这样jsp页面会取不到值。改成下面这样(我就不写get set方法了。你自己加):
public class A extends ActionSupport
{
Private String username;
Private String password;
Private List list ;
username与password相应的get set方法;
public String execute()
{
list = 这里调用了一个java类,到了一LIST类的
//
//请教这里面应该怎么写才能把在上面得到的list类传到jsp页面上去
//成功转到yes.jsp
}
}
在JSP页面的<@page>标签下面加一个
<@ taglib prefix="s" uri="/struts-tags" >标签包(关于这个标签包的配置和使用建议到网上搜索看看),然后
yes.jsp写法。
<s:iterator value="list" id="item">
<s:property value='item'/>
</s:iterator>
这里面item对应着list里的每个元素。
如果item 是对象(如是People对象且People有一个name属性)则可以写成下这样。
<s:iterator value="list" id="item">
<s:property value='#item.name'/>
</s:iterator>
list不应该是方法体里的变量,list需要有get set 方法。这样jsp页面会取不到值。改成下面这样(我就不写get set方法了。你自己加):
public class A extends ActionSupport
{
Private String username;
Private String password;
Private List list ;
username与password相应的get set方法;
public String execute()
{
list = 这里调用了一个java类,到了一LIST类的
//
//请教这里面应该怎么写才能把在上面得到的list类传到jsp页面上去
//成功转到yes.jsp
}
}
在JSP页面的<@page>标签下面加一个
<@ taglib prefix="s" uri="/struts-tags" >标签包(关于这个标签包的配置和使用建议到网上搜索看看),然后
yes.jsp写法。
<s:iterator value="list" id="item">
<s:property value='item'/>
</s:iterator>
这里面item对应着list里的每个元素。
如果item 是对象(如是People对象且People有一个name属性)则可以写成下这样。
<s:iterator value="list" id="item">
<s:property value='#item.name'/>
</s:iterator>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<action name="" class="">
<result name="success" type="redirect"></result>
</action>
这样是重定向,type什么也不写,就是转发,默认就是转发。
chain是链的意思,这样写:
<action name="cccc" class="">
<result name="chain">aaaa</result>
</action>
<action name="aaaa" class="">
<result name="chain"></result>
</action>
意思是:在cccc这个action中,注册aaaa这个action,当cccc会转发到action名字是aaaa的action中
在excute()中renturn "success、chain..."就是不同类型的转向
<result name="success" type="redirect"></result>
</action>
这样是重定向,type什么也不写,就是转发,默认就是转发。
chain是链的意思,这样写:
<action name="cccc" class="">
<result name="chain">aaaa</result>
</action>
<action name="aaaa" class="">
<result name="chain"></result>
</action>
意思是:在cccc这个action中,注册aaaa这个action,当cccc会转发到action名字是aaaa的action中
在excute()中renturn "success、chain..."就是不同类型的转向
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-01-19
展开全部
"${contractId}" 要加引号才行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最好别用long类型的数据
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询