2010-12-22 16 views
0

Ich bin gerade dabei, einen ziemlich alten und unappetitlichen Code zu aktualisieren, wenn ich einen Fehler erhalte. Mein Vorgänger füllt Standardwerte für Variablen innerhalb der JSP-Datei (über Scriptlets und Struts-Beans).Zugriffswert von Struts-Bean aus Java-Klasse

Gibt es eine Möglichkeit für mich, den Wert der Struts Bean von der Java-Klasse (Modell) zugreifen, oder möglicherweise verwenden Sie seine Bean-Definitionen, um den Wert verweisen und an meine Java-Bean übergeben?

(Ich bin neu in Bohnen, so sanft sein)

Hier ist, wie er zur Zeit den Standard Abrufen wird Wert

<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> 

<bean:define id="SummaryNumbers" name="SummaryNumbers" type="QueryResults"/> 

Hier ist, wie ich die Modellklasse am Zugriff auf

<jsp:useBean id="content" class="com.xxx.xxx.ProductionContent"> 
    <jsp:setProperty name="content" property="summaryNumbers" /> 
</jsp:useBean> 

Antwort

2

Ich glaube, Sie verwenden Struts 1 und es gibt einen besseren Ansatz, dies zu tun. In Ihrer Struts Action-Klasse

public class ProductionAction extends DispatchAction { 
     public ActionForward showProductionConent(ActionMapping mapping, ActionForm form, 
       HttpServletRequest request,HttpServletResponse response) throws STException 
     {   
      //.. get productionContent here 
      request.setAttribute("productionContent",productionContent);  
      return mapping.findForward("showProductionContent"); 
     } 
    } 

in Ihrer JSP können Sie EL verwenden, um Daten abzurufen, wie diese

<td>Production Content Name: ${productionContent.name}</td> 

Oder Sie können Streben HTML-Tag verwenden, um Daten so retrive (Sie müssen die binden form bohne richtig in struts-config.xml)

<td>Production Content Name: <html:text property="name"></td> 
+0

Ich werde das einen Schuss geben, danke. – PseudoNinja

0

Sie sollten ab sein le, einfache Getter und Setter (getSummaryNumbers(), setSummaryNumbers()) für jede Eigenschaft in der Bean-Klasse zu verwenden, wenn sie korrekt gebunden ist.