当我遇到障碍时,我正在更新一些相当古老而令人讨厌的代码。我的前任是在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>
答案 0 :(得分:2)
我相信你正在使用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中正确绑定表单bean)
<td>Production Content Name: <html:text property="name"></td>
答案 1 :(得分:0)
如果绑定正确,您应该能够为Bean类中的每个属性使用简单的getter和setter(getSummaryNumbers()
,setSummaryNumbers()
)。