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

▼魔方 西西 提交于 2019-12-10 10:58:46

问题


I have to send object of Bean class back to JSP from my action class. I am instantiating the Bean class in my action class and and setting some values in my Action class.

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"); 

and in my JSP I am declaring the bean class as well.

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

in the bean class i have declared the variable private with public getter and setter. But the values coming null in JSP. After debugging I found that there is no problem in action class. But when command goes to bean class, values becomes null.


回答1:


First time you instantiate the bean in the action, second time in the JSP. It's not the same bean you've populated in the action, and doesn't contain the values. If you want to get the values from the first bean then you should create mutators to a variable that hold the instance of the bean. You should also create mutators to access the properties of that bean. In the JSP you have access to the first bean because the action instance is on the top of the valueStack. Just use

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

Note, that without # OGNL will not search the other variables, it will look directly into the valueStack. But don't do it inside the bean tag, because the new (second) instance is pushed to the valueStack and the search is performed from top to bottom, thus it could match the properties of the bean. Just remove the bean tag.



来源:https://stackoverflow.com/questions/17634353/how-to-pass-object-from-action-class-to-jsp-using-bean-in-struts2

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!