Struts2 Form提交传值 List,Map

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Struts2 Form提交传值 List,Map相关的知识,希望对你有一定的参考价值。

html:
<select name="customerMap['sheetDistrictName']">...</select>
<select name="linkmanList[0]['userId']">...</select>
JAVA:
public Map<String,Integer> customerMap = new HashMap<String, Integer>();
public List<Map<String,Integer>> linkmanList = new ArrayList<Map<String,Integer>>();
两个select是在同一个form下,一起提交的,
传Map的到后台是有值的。
但是第二种就没值,是哪里有错?
望指点...

参考技术A 要用map的,list和map 的组织结构大不相同追问

怎么用Map?
我试过 List>
也试过Map>
都不行!
这个要写自定义类型转换器也感觉无从下手!

参考技术B 感觉是不是html中的select关于list的地方赋值有没有问题。

soapui里 paramtype =form 类型参数怎么传值

并按照映射规则, 解析出 ControllerName,ActionName 和Parameters; 再次,到Controllers 目录下找到ControllerNameController.cs 类, 并在这个类中找到与 ActionName 同名的方法,将Parameters 作为参数传给这个方法; 最后,Action 方法开始执行,完成后将返回相应视图 以下是四种传值方式,根据不同情况下具体运用1. Request 1. Request.Form:获取以POST方式提交的数据(接收Form提交来的数据)View视图下:post方式提交数据 或 控制器下:Request.form[“”].tostring(); 2. Request.QueryString:获取地址栏参数(以及以GET方式提交的数据).aspx页面代码 $(document).ready(function () getJOSNResourceBaseList(); .js文件代码 Function getJsonResourceBaseList()Var param=param1:””,param2:””,param3:””;Param.param1=”123”;Param.param2=”456”;Param.param3=”789”; $.getJSON("/ResourceBase/getJOSNResourceBaseList", param, function (data) //具体方法操作 .controller文件中调用 然后再ResourceBaseController.cs下的getJOSNResourceBaseList方法下QueryString获取参数: Request.QueryString[“param1”]; Request.QueryString[“param2”]; Request.QueryString[“param3”]; 2.Dictionary在控制器赋值: Dictionary userModel = newDictionary();userModel.Add("UserID",“123”); userModel.Add("UserName",“456”); ViewData["UserData"] = userModel; 在视图页面取值: 接下来讲两种强类型数据的传递方法, ViewDta 和Dynamic说明:﹡ResourceBaseEditModelService.GetEditModelByID 返回类型为ResourceBaseEditModel ﹡ResourceBaseEditModel 是一个数据实体类型如:publicclassResourceBaseEditModel publicGuid Id get; set; 3. ViewData 把强类型的ViewData对象从控制器传递给视图,这里只讲强类型对象的传递 在控制器中赋值: ViewData["editModel"] = ResourceBaseEditModelService.GetEditModelByID(TempDeviceID.Value); 在视图页面取值: 4. Dynamic在控制器赋值: ResourceBaseEditModelmodel = ResourceBaseEditModelService.GetEditModelByID(TempDeviceID.Value); dynamic viewModel = newExpandoObject(); viewModel.UserID = model.Id; viewModel.UserName = model.name; return View(viewModel); 在视图页面取值: 参考技术A 你可以明确指出在那个作用域查找,比如:$Request["param"] 还有一点freemarker不能直接从一个页面跳到应一个页面这样...

以上是关于Struts2 Form提交传值 List,Map的主要内容,如果未能解决你的问题,请参考以下文章

php表单传值问题

struts2属性驱动模型

java web 的表单提交与传值

soapui里 paramtype =form 类型参数怎么传值

使用form表单进行前后台传值

Struts2网页面传值两种方式