条纹@SessionScope隐藏条纹:错误

时间:2015-02-10 10:12:34

标签: java stripes session-scope

我需要使用@SessionScope在刷新后使列表停留在页面中,但是当我使用它时,Stripes:错误不再是diplaying了。 Stripes:错误实际运行(因为我看不到任何事情会发生)但它只是不再显示页面中的错误消息。我确信@SessionScope有一些东西,因为当我运行没有它的代码时,页面中显示的所有错误。 关于如何解决这个问题的任何想法?

注意:我还尝试使用@Wizard(startEvents =“event”),它允许显示错误,但在页面中保存列表时没有做任何事情!

的java

@SessionScope
@UrlBinding("/Student/import.action")
public class ImportAction implements ActionBean {
    private String userCheckBox;
    public Resolution importStudents() throws IOException {
      if (userCheckBox == null) {
                      this.getContext().getValidationErrors().add("userCheckBox",new SimpleError(error));
            }
    return new RedirectResolution("import.action");
}
public String getUserCheckBox() {
    return userCheckBox;
}
public void setUserCheckBox(String userCheckBox) {
    this.userCheckBox = userCheckBox;
}
}

JSP

<stripes:checkbox name="userCheckBox"/>
<stripes:errors field="userCheckBox"/>
<stripes:submit name="importStudents" value="Import"/>

1 个答案:

答案 0 :(得分:0)

我不知道这是否是正确的方法,而不是使用@SessionScope如何直接通过子类ActionBeanContext将列表存储在会话中?例如,我的

public class IlmpActionBeanContext extends ActionBeanContext {
private static final String REQUEST_TOKEN = "request_token";

public Token getRequestToken() {
    return (Token) this.getRequest().getSession()
        .getAttribute(IlmpActionBeanContext.REQUEST_TOKEN);
}

public void setRequestToken(final Token requestToken) {
    this.getRequest()
    .getSession()
    .setAttribute(IlmpActionBeanContext.REQUEST_TOKEN, requestToken);
}