WebWork中使用动态Form字段

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

webwork中使用动态Form字段

=========================

一般情况下,webwork使用字段驱动或者模型驱动方式获取表单中的数据.(普通表单)

但是有的情况下,需要编辑的字段名称内容都是动态变化的,此时就没法使用确定的类来做映射.

此时我想到有以下几种方法解决:

1.使用webwork的内部对象,取出所有参数

ActionContext context = ActionContext.getContext();

Map params = context.getParameters();

操作params就可以获取所有参数

2.使用Map映射

Map有get,put函数,例如get("name"),put("name","scud")

经过试验(文档中没有对此的说明,webwork的文档目前还很少,也可能是我没阅读到)

在表单中映射采用这样的方式:

<input name="fields.name">

读取值则采用fields['name']的方式,这个文档中提到了

具体的文件如下:

A:输入页面

<%@ taglib uri="webwork" prefix="ww" %>

<Html>

<head>

<title>WebWork Test 2</title>

</head>

<body>

<p>What's your name?</p>

<form action="hello.action" method="post">

<p>

<input type="text" name="field.person" /><br>

<input type="submit" />

</p>

</form>

</body>

</html>

B:sUCcess转向的页面

<%@ taglib uri="webwork" prefix="ww" %>

<html>

<head>

<title>WebWork Test 2</title>

</head>

<body>

Hello, <ww:property value="field['person']" /><br>

</body>

</html>

C:用到的Action类

package helloWorld;

import com.opensymphony.xwork.*;

import Java.util.*;

public class HelloAction extends ActionSupport

{

private Map field = new HashMap();

public String execute() throws Exception

{

return SUCCESS;

}

public void setField(Map field)

{

this.field = field;

}

public Map getField()

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航