7

在 JSP 中,我有以下字段:

<stripes:text name="email"/>

该字段在我的操作 bean(片段)中:

    public class CreateClaim implements ActionBean {

    private String email;

    public void setEmail(String email) {
        this.email = email;
    }

    public String getEmail() {
        return email;
    }

    public Resolution alc(){
        email = "poodle";
        return new ForwardResolution("aForward.jsp");
    }

}

在 alc() 方法中,我将电子邮件设置为空。但是当页面呈现时,电子邮件字段的值与最初输入的完全一样。有没有办法清除此字段一次并且事件已触发?

干杯

戴夫

4

1 回答 1

5

这与Stripes 框架的人口策略有关。默认情况下,它有一个Request first 策略(由于与早期版本的向后兼容性),但我总是将其更改为bean first population strategy

只需编辑web.xml为您的 Stripes 过滤器添加一个 init-param:

<filter>
  <filter-name>StripesFilter</filter-name>
    <filter-class>net.sourceforge.stripes.controller.StripesFilter</filter-class>

    <init-param>
      <param-name>PopulationStrategy.Class</param-name>
      <param-value>
        net.sourceforge.stripes.tag.BeanFirstPopulationStrategy
      </param-value>
    </init-param>
..etc...
于 2010-06-08T22:27:35.447 回答