【问题标题】:Struts 2: how set a property value of a bean of an action using tags?Struts 2:如何使用标签设置动作的bean的属性值?
【发布时间】:2013-06-06 07:41:38
【问题描述】:

我的操作中有一个 bean(这里是代码)

public class FPFController extends ActionSupport{
    private FPFParameters fPFParameters;
    public FPFParameters getFPFParameters(){
        return fPFParameters;
    }
}


public class FPFParameters {
   private String strParameter;

   public void setStrParameter(String value) {
       this.strParameter = value;
   }

   public String getStrParameter() {
       return this.strParameter;
   }
}

我需要在jsp中设置这个bean(fPFParameters)的属性(strParameter):是否可以使用struts 2标签或jstl标签来做到这一点?

【问题讨论】:

  • 为什么要在 JSP 本身中设置这样的值?
  • 你想达到什么目的?

标签: jsp struts2 jstl jsp-tags


【解决方案1】:

您可以使用 Struts 标签中的 OGNL 点表示法 来访问内部对象。

<s:textfield name="fPFParameters.strParameter" />

等价于

getFPFParameters().setStrParameter(this.value)

当然会在发送请求时执行该设置;您需要与服务器通信以设置服务器值(POST、GET、AJAX 调用等)。

如果您想在不离开页面的情况下进行设置,只需将 AJAX 调用绑定到对象的 onchange 事件即可。

编辑


在 Struts2 中使用 &lt;jsp:useBean&gt;&lt;jsp:setProperty&gt; 的替代方法由 Struts2 &lt;s:bean&gt; Tag 表示:

<s:bean name="foo.bar.FPFParameters" var="fPFParameters">
  <s:param name="strParameter">myValue</s:param>
</s:bean>

...

strParameter value is: 
<s:property value="#fPFParameters.strParameter" />

Example of usage of &lt;s:bean&gt; tag

【讨论】:

  • 不,我需要像 &lt;jsp:setProperty name="fPFParameters" property="strParameter" value="value" /&gt; 这样带有 struts 标签的东西
  • 你写的代码在一个变量下创建了一个新的bean,但是我想拿我之前创建的bean,我提出了请求:我该怎么办?我试过这个,但它不起作用&lt;s:bean name="fi.fpf.mvc.FPFViewComponent" var="#request.viewComponent"&gt; &lt;s:param name="#request.viewComponent.menuElement" value="value"/&gt; &lt;/s:bean&gt;
  • 这正是&lt;jsp:useBean&lt;jsp:useProperty 所做的:/ 从JSP 创建一个Java bean 的新实例。它一定没那么有用,因为我从未使用过它……现在它是清除您要实现的目标的正确位置;如果它正在为 bean 的属性分配值,以便一旦发送到服务器它将被更新,然后按照答案的第一部分进行操作;如果它正在读取 JSP 中的现有 bean 并更新其在 JSP 中的属性以在 JSP 中使用它们,那么......为什么?!只需使用&lt;s:set
  • 我试过这个 它有效,值已设置,但 id 没有t 调用方法 setMenuElement:它直接访问属性。有没有办法调用setter方法?
  • 将变量设为私有; ps你的
猜你喜欢
  • 1970-01-01
  • 2012-10-29
  • 1970-01-01
  • 1970-01-01
  • 2013-12-31
  • 1970-01-01
  • 2012-08-22
  • 1970-01-01
  • 2011-06-03
相关资源
最近更新 更多