簡體   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