在Struts 1.3中,Controller用变量填充View的最佳方法是什么?

时间:2020-03-05 18:58:40  来源:igfitidea点击:

我刚刚继承了一些旧的Struts代码。

如果Struts(1.3)遵循MVC模式,则Action类如何用变量填充View并以HTML呈现?

到目前为止,我已经看到Action类将HTTP请求中的(1)`中的变量推入

request.setAttribute("name", user.getName())

使用特定于应用程序的方法在ActionForm类中使用"(2)":

UserForm form = (UserForm) actionForm;
form.setUserName(user.getName());

和(3)一个requestScope变量,我在JSP层中看到了(该视图使用JSP),但是在Action类中却看不到。

<p style='color: red'><c:out value='${requestScope.userName}' /></p>

那么,其中哪些被认为是过时的呢?在Struts中的View中推变量的推荐方法是什么?

解决方案

回答

我的Struts日子已经过去了,但据我所记得,我们曾经将一个特定于视图的bean(可以用作细粒度bean或者bean集合的持有者)放入Action.perform()的请求范围执行。然后,该特定于视图的bean将由视图呈现。

回答

由于" Struts 1.3"被认为是过时的,因此建议我们顺其自然,并使用在继承的整个应用程序中已经使用的样式。

如果已经使用了所有不同的样式,请选择最常用的样式。之后,选择我们个人的收藏夹。我的将是1或者3,通常最适合最终将在某些表单控件中呈现的数据的形式(2)。如果是这种情况,请使用表格,否则请不要使用。