struts2 中action 如何获取extjs 表单 FormPanel 中提交的数据? 请详细说明下。谢谢
vartestsForm=newExt.FormPanel({baseCls:'x-plain',layout:'absolute',url:'<%=path%>/per...
var testsForm = new Ext.FormPanel({
baseCls: 'x-plain',
layout:'absolute',
url:'<%=path%>/persionnel/PersionnelAction',
reader:new Ext.data.JsonReader(
{
root:'testOne',
id:'NPerId'
}, [
{name:'NPerId'},
{name:'VPerNum'},
{name:'VPerName'},
{name:'VPerIdnum'},
{name:'VPerAdd'},
{name:'VPerDep'},
{name:'VPerSex'},
{name:'VPerPhone'},
{name:'DPerEntryDate'},
{name:'NPerAge'}
]),
我不想通过request.getParameter("****") 获取。
发明提供多种解决方案
顺便问下如果前台是动态的表单,那么后台如何获取动态的 展开
baseCls: 'x-plain',
layout:'absolute',
url:'<%=path%>/persionnel/PersionnelAction',
reader:new Ext.data.JsonReader(
{
root:'testOne',
id:'NPerId'
}, [
{name:'NPerId'},
{name:'VPerNum'},
{name:'VPerName'},
{name:'VPerIdnum'},
{name:'VPerAdd'},
{name:'VPerDep'},
{name:'VPerSex'},
{name:'VPerPhone'},
{name:'DPerEntryDate'},
{name:'NPerAge'}
]),
我不想通过request.getParameter("****") 获取。
发明提供多种解决方案
顺便问下如果前台是动态的表单,那么后台如何获取动态的 展开
4个回答
展开全部
用 struts2 还不好解决? 在action配置一个对象,如"user",再实现这个对象get ,set 方法,然后配置 ext form 表单里的 field 时,参数名称改为 name : 'user.NPerId' ,当form表单提交时,后台action则直接取到 user 对象,无须再一个个地set表单参数.
追问
现在是能后台获取的到了,但是由于我用Gson 传到前台,我现在查询出来的结果好比: {NPerId:8080},这样的json,如果要轩昂让 form获取到 这个json 那么name 就要是 NPerId,但是现在name是 'user.NPerId' ,那么我就要改 json中的 为 {'user.NPerId':8080}。 但是我使用的 google 的 Gson,我不会改这个头名字。请教
追答
你试试给formPanel 配置reader 属性,如以下配置
reader : new Ext.data.JsonReader(
{
root:'data'
},
[
{name:'newsId',mapping:'news.newsId'},
{name:'typeId',mapping:'news.typeId'},
{name: 'title', mapping:'news.title'},
{name: 'author', mapping:'news.author'},
{name: 'content', mapping:'news.content'}
]),
相当于给它一个匹配规则,我以前是这样写的.
其实最好的方法是把formPanel的loadData方法修改掉,改成只要配置一个前缀就可以自动填入数据.
展开全部
你可以通过ActionForm去取啊。
推荐你试试dwr方式:
var testsForm = new Ext.FormPanel({.....});
var pa = testsForm .getForm().getValues();获取所有的值;
user_Dwr.saveUserInfo(pa,function(data){//dwr提交
向后台提交
});
后台:
public boolean saveUserInfo(Map queryParam){
//通过queryParam取得你传过来formpanel的参数值
String NPerId = queryParam.get("'NPerId'");
}
推荐你试试dwr方式:
var testsForm = new Ext.FormPanel({.....});
var pa = testsForm .getForm().getValues();获取所有的值;
user_Dwr.saveUserInfo(pa,function(data){//dwr提交
向后台提交
});
后台:
public boolean saveUserInfo(Map queryParam){
//通过queryParam取得你传过来formpanel的参数值
String NPerId = queryParam.get("'NPerId'");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
jsp页面
<s:form name="example" action="dopost" theme="simple" enctype="multipart/form-data" > <s:file name="upload"/>
enctype属性很重要 必须有
java action 文件
public string dopost{
upLoadFile();
return success;
}
private File[] upload;
private String[] uploadFileName;
private String[] uploadContentType;
GEt set方法
public String upLoadFile() throws Exception {
String realpath = ServletActionContext.getServletContext().getRealPath("imageupload"); //imageupload是存文件的路径
<s:form name="example" action="dopost" theme="simple" enctype="multipart/form-data" > <s:file name="upload"/>
enctype属性很重要 必须有
java action 文件
public string dopost{
upLoadFile();
return success;
}
private File[] upload;
private String[] uploadFileName;
private String[] uploadContentType;
GEt set方法
public String upLoadFile() throws Exception {
String realpath = ServletActionContext.getServletContext().getRealPath("imageupload"); //imageupload是存文件的路径
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个问题我觉得楼主可以用ajax实现的,既然页面动态更新,那就可以在js中定义一个和服务器交互的时间,然后通过JSON格式发送。我是新手,说的不对请不要骂
追问
目前已知 extjs 的数据 就是json了。 我现在不指定如何获取这个JSON在后台, 如果能获取到,我就能转换为对象,就好办了。
追答
我在百度hi里和你说了打开看一下,在这里说太麻烦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询