表单提交和HttpServletRequest

时间:2012-02-29 08:24:57

标签: java javascript forms servlets

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

我面临的问题是,由于某种原因,当表单填满(使用chrome中的调试器进行检查)时,java程序无法识别表单中的参数,而是将其读取为null。 / p>

我正在遵循从旧的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'}]})

2 个答案:

答案 0 :(得分:1)

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

方法正在寻找名称为“flag”的表单元素。 由于您的表单可能不包含标志字段,因此它假定它为空。 因此,要克服此问题,可以在名称为“flag”的表单中添加输入字段,并将所需的值放入其中。 我认为这对你有用。

答案 1 :(得分:0)

没关系。发现了问题。我没有意识到表格没有正确发送。对不起,对不起!