繁体   English   中英

如何使用Struts2中的Bean将对象从操作类传递到JSP?

[英]How to pass object from action class to JSP using Bean in Struts2?

我必须将Bean类的对象从操作类发送回JSP。 我正在我的动作类中实例化Bean类,并在我的动作类中设置一些值。

ElasticitiesVariable elasticitiesVariable = new ElasticitiesVariable();
elasticitiesVariable.setAuto_Auto_cost_peak("-0.047");  
elasticitiesVariable.setAuto_Ride_cost_peak("0.000");
elasticitiesVariable.setAuto_Van_cost_peak("0.000");
elasticitiesVariable.setAuto_Transit_cost_peak("0.050");
elasticitiesVariable.setAuto_Bike_cost_peak("0.000"); 

在我的JSP中,我也声明了bean类。

<s:bean name="org.apache.struts.register.model.ElasticitiesVariable" var="elasticitiesBean" />
<td class="edit_area">
   <s:property value="#elasticitiesBean.auto_Auto_cost_peak" /></td>

在bean类中,我用public getter和setter声明了变量private。 但是在JSP中,值变为空。 调试后,我发现动作类没有问题。 但是当命令转到bean类时,值变为null

第一次在操作中实例化bean,第二次在JSP中。 它与您在操作中填充的bean不同,并且不包含值。 如果要从第一个bean获取值,则应为包含bean实例的变量创建变量。 您还应该创建更改器以访问该bean的属性。 在JSP中,您可以访问第一个bean,因为操作实例位于valueStacktop 只需使用

<s:property value="elasticitiesBean.auto_Auto_cost_peak" />

请注意,如果没有# OGNL不会再搜索其他变量,它会直视valueStack 但是不要在bean标记内执行此操作,因为新的(第二个)实例被推送到valueStack ,并且搜索是从上到下执行的,因此它可以与bean的属性匹配。 只需删除bean标签。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM