【发布时间】:2015-02-15 09:30:43
【问题描述】:
我已经使用ModelDriven 和getModel() 方法在动作类中调用POJO bean。
但这是最好的方法吗?当需要在一个操作中调用多个 bean 模型时,哪个最好?
关于访问 bean 的任何其他想法?
【问题讨论】:
-
不要使用模型驱动。只需在行动中使用您的 bean。
标签: java struts2 jstl ognl model-driven
我已经使用ModelDriven 和getModel() 方法在动作类中调用POJO bean。
但这是最好的方法吗?当需要在一个操作中调用多个 bean 模型时,哪个最好?
关于访问 bean 的任何其他想法?
【问题讨论】:
标签: java struts2 jstl ognl model-driven
在一个操作中使用多个 bean 模型的最简单方法是将它们聚合到 getModel() 返回的 bean(如果您使用的是 modelDriven interceptor)。
您不能使用ModelDriven 接口使用多重继承。您可以使用操作类而不是ModelDriven,或同时使用两者。
实际上,在Struts 2中你必须处理视图层上的ValueStack,但是它可以通过处理请求提供给框架提供的ActionContext,所以你可以在任何地方使用它。
关于访问 bean 的任何其他想法?
bean 放置在值堆栈的top 上,可以通过 OGNL 或 JSTL 表达式在视图中使用。 OGNL 用于 Struts 标记或解析 OGNL 的标记,JSTL 照常使用,但在 Struts 2 中,由于 Struts 2 请求包装器,它也在 valueStack 中搜索。
【讨论】: