【问题标题】:Struts2 textfield not retaining the value after submit提交后Struts2文本字段不保留值
【发布时间】:2015-07-23 03:55:19
【问题描述】:

我正在使用 Struts2 并使用隐藏字段将值从一个包含文本字段的 jsp 传递到其他操作。

简要实施步骤:-

  1. Action1 -->jsp --> one.jsp(有<textfield name="one"></textfield>)在提交时转到Action2
  2. Action 2 有 jsp-->two.jsp(这里以前的文本字段的值显示为纯文本)这里我还放置了隐藏字段以保留进一步提交的值。
  3. 现在,Action2 jsp 有一个后退按钮,可以将控制权返回给 Action1。可以认为Action1有next按钮,Action2有back按钮来回。

问题:- 单击返回时,我看不到我第一次设置的文本字段中的值..

情景。

  1. Action1--文本字段的值为 [200] one.jsp
  2. (点击下一步按钮)--将控制权交给Action2的two.jsp
  3. Action2--纯文本获取值并显示为 [200] two.jsp
  4. (单击后退按钮)....将控制权转移到 Action1 的 one.jsp。
  5. 预期结果应该保留文本字段上的值。但它不是。

但是,如果我在浏览器上执行 F12(在开发人员模式下查看值)<textfield> 会生成一个 <input> 类型的标签,并且它的值 =“200”.. 但它没有显示在实际屏幕。

【问题讨论】:

  • 点击 F12 后,您会在隐藏文本字段或普通文本字段中看到值...??您是否在 BACK Button 中再次设置该值,该按钮将控制权交给 Action1..并尝试在 One.jsp 中显示??
  • 您需要在 Action1 上设置一个二传手
  • @yeppe 你能说清楚吗....或者给我们看代码:)
  • 这个{%Somevalue%} 不正确。
  • @Aleksandr 好吧,值字段将从这个 {%%} 中获取值.. 一切正常......就像这样......stackoverflow.com/a/9974101/5086633

标签: java jsp struts2


【解决方案1】:

修复它。发现问题。它与 jsp 文件中使用的 JScript 有关。发生这种情况是因为在重新加载或访问页面时,在 jsp 上编写的 JS 正在擦除输入字段值。吸取的教训,有时 JS 可能是罪魁祸首。 :)

【讨论】:

  • 在这种情况下,JS 可以成为 JSP 和 HTML 之间的中介。
  • @Roman +1 没错!!虽然动作类正在发送请求的响应和值,但在客户端我们正在删除它。
猜你喜欢
  • 2014-12-29
  • 1970-01-01
  • 2014-10-29
  • 2019-03-13
  • 1970-01-01
  • 2011-01-18
  • 2011-12-24
  • 2015-02-25
  • 1970-01-01
相关资源
最近更新 更多