Struts:在Common JSP中引用Form-Bean作为变量

时间:2014-10-16 17:55:30

标签: java jsp struts struts-1

我有一个共同的JSP包含在其他页面中;它必须从bean中一般显示某个列表。

所有主JSP都使用该bean的某个子类。

在struts-config.xml中,假设我的Action Form bean有一个特定的定义作为例子,

<form-bean name="rr5YearBudgetForm"  type="myapp.form.My5YearBudgetActionForm" />

公共JSP需要以一般方式检查该bean的属性(使用我传入的bean);这些是所有表单bean都支持的属性。现在,使用下面的特定Form Bean进行硬编码,但它必须适用于传入的任何bean。

 <c:if 
            test="${rr5YearBudgetForm.saved == true || fn:length(rr5YearBudgetForm.budgetPeriods) > 1}">

问题是,如何传入包含我的表单bean的特定变量?我尝试了这个简单的c:set var,但它定义了一个没有属性的字符串。

调用JSP

<c:set var="budgetForm" value="rr5YearBudgetForm" scope="request" />    
<%@ include file="common.jsp" %>

Common JSP

<c:if test="${budgetForm.saved == true || fn:length(budgetForm.budgetPeriods) > 1}">

但这不起作用。我需要一种传递实际bean而不是字符串的方法。

1 个答案:

答案 0 :(得分:0)

请尝试bean标记:

<s:bean name="com.mkyong.common.action.HelloBean" var="hello">
  <s:param name="msg">Hello Bean Tag</s:param>
</s:bean>

此标记库包含用于访问bean及其属性的标记,以及通过脚本变量和页面范围属性定义页面其余部分可访问的新bean(基于这些访问)。