Struts 2:如何使用标签设置动作bean的属性值?

时间:2013-06-06 07:41:39

标签: jsp struts2 jstl jsp-tags

我的动作中有一个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的属性(strParameter)(fPFParameters):是否可以使用struts 2标签或jstl标签来实现?

1 个答案:

答案 0 :(得分:0)

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

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

相当于

getFPFParameters().setStrParameter(this.value)

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

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

修改


在Struts2中使用<jsp:useBean><jsp:setProperty>的替代方法由Struts2 <s:bean> 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 <s:bean> tag