【问题标题】:Form submit and HttpServletRequest表单提交和 HttpServletRequest
【发布时间】:2012-02-29 08:24:57
【问题描述】:

我在表单和请求方面遇到了这个问题。我正在使用 sencha 和 javascript 创建一个网页,该网页将表单发布到 java web 应用程序,该应用程序从数据库中提取数据并在将 html 页面返回给客户端之前对其进行格式化。

我面临的问题是,由于某种原因,虽然表单确实被填充(使用 chrome 中的调试器检查),但 java 程序无法识别表单中的参数,而是将其读取为 null。

我正在遵循从旧的 java 程序中设置表单的方法,该程序有效,但对我来说却失败了。有谁知道我该如何解决这个问题或我可能做错了什么?

我已经包含了 javascript 和 java 代码,我决定在下面返回哪个页面。

用于提交表单的函数调用的Javascript处理程序:

var MenuA = function() {
    simple.getComponent('flag').setValue('MenuA');
    simple.getEl().dom.action = './Soap';
    simple.getEl().dom.method = 'POST';
    simple.submit();}

决定页面选择的Java代码:

if (request.getParameter("flag").matches("MenuA")) {
    choice = 2;
} else if (request.getParameter("flag").matches("MenuB")) {
    choice = 3;}

FormPanel 代码:

var simple = new Ext.form.FormPanel({hidden:true,standardSubmit:true,
items:[
{xtype: 'textfield', hidden: true, name : 'password', label: 'Password', id:'password'}
,{xtype: 'textfield', hidden: true, name : 'user', label: 'user', id:'user'}
,{xtype: 'textfield', hidden: true, name: 'flag', label: 'flag', id: 'flag'}]})

【问题讨论】:

    标签: java javascript forms servlets


    【解决方案1】:

    你的

    request.getParameter("flag").matches("MenuA");
    

    方法正在寻找名称为“flag”的表单元素。 由于您的表单可能不包含标志字段,因此它假定它为空。 因此,为了克服,您可以在表单中添加一个名为“flag”的输入字段,并将您想要的值放入其中。 我认为这应该适合你。

    【讨论】:

    • 嗨亚达夫,感谢您的回复。我实际上已经在代码中有一个 FormPanel,只是忘记在上面包含它。我刚刚将它添加到第 1 篇文章中。很抱歉忘记包含它。
    【解决方案2】:

    没关系。发现了问题。我没有意识到表格没有正确发送。给您添麻烦了!

    【讨论】:

      猜你喜欢
      • 2020-05-09
      • 2017-01-09
      • 1970-01-01
      • 2021-12-22
      • 2013-07-08
      • 2017-09-12
      • 2016-12-05
      • 2012-02-15
      • 1970-01-01
      相关资源
      最近更新 更多