我在这里遇到了一个奇怪的(也可能是)错误的行为。我试图在页面上放置一个复选框,你就知道了:未选中的复选框不会写入请求(只有复选框)
struts通常提供的是覆盖:
@Override
public void reset(ActionMapping mapping, ServletRequest request)
将所有复选框重置为“false”。 但就我而言,这个reset()永远不会被调用!
有人有个主意吗?
提前致谢,
魔法
答案 0 :(得分:4)
要覆盖的正确方法签名是
public void reset(ActionMapping 映射, 的 javax.servlet.http.HttpServletRequest 强> 请求)
答案 1 :(得分:2)
Struts框架会自动调用reset方法(你对The Elite Gentleman的回答是正确的)......就是你在书中做了所有事情。
检查以下内容:
name
代码上的action
属性?我的钱是4号。
答案 2 :(得分:1)
我遇到了类似的问题。
解决方案是在struts-config.xml的action标签中添加 scope =“request”属性
答案 3 :(得分:0)
默认情况下永远不会调用重置,您必须通过您的操作调用它(如果您想重置表单),
或者,在您的jsp上,您将拥有<html:reset />
标记,并覆盖ActionForm
的重置方法。这有帮助。
答案 4 :(得分:0)
reset()
方法的原型是:
public void reset(ActionMapping mapping, javax.servlet.http.HttpServletRequest request)
如果我们在尝试打开我们的应用程序时没有使用reset()
方法,那么以前的值将自动生效。
如果我们使用此reset()
方法,则先前的值将重置为空值。因此,通过使用此reset()
方法,我们可以避免以前的值。