【问题标题】:Access value of struts bean from Java class从Java类访问struts bean的值
【发布时间】:2010-12-22 22:37:41
【问题描述】:

当我遇到障碍时,我正在更新一些相当陈旧且令人讨厌的代码。我的前任正在为 JSP 文件中的变量填充默认值(通过 scriptlet 和 Struts bean)。

我有什么方法可以从 java 类(模型)访问 struts bean 的值,或者可以使用他的 bean 定义来引用该值并将其传递给我的 Java bean?

(我是新手,所以要温柔)

这是他当前检索默认值的方式

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

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

这是我访问模型类的方式

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

【问题讨论】:

    标签: java jsp struts javabeans


    【解决方案1】:

    我相信您正在使用 Struts 1,并且有更好的方法可以做到这一点。在你的 Struts 动作类中

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

    在您的 JSP 中 您可以使用 EL 来检索这样的数据

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

    或者你可以使用struts html标签来检索这样的数据(你需要在struts-config.xml中正确绑定form bean)

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

    【讨论】:

      【解决方案2】:

      如果绑定正确,您应该能够对 Bean 类中的每个属性使用简单的 getter 和 setter(getSummaryNumbers()setSummaryNumbers())。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-10-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多