我在表单和请求方面遇到了这个问题。我正在使用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'}]})
答案 0 :(得分:1)
您
request.getParameter("flag").matches("MenuA");
方法正在寻找名称为“flag”的表单元素。 由于您的表单可能不包含标志字段,因此它假定它为空。 因此,要克服此问题,可以在名称为“flag”的表单中添加输入字段,并将所需的值放入其中。 我认为这对你有用。
答案 1 :(得分:0)
没关系。发现了问题。我没有意识到表格没有正确发送。对不起,对不起!