WEB开发网
开发学院WEB开发Jsp WebWork中使用动态Form字段 阅读

WebWork中使用动态Form字段

 2008-01-05 20:19:06 来源:WEB开发网   
核心提示:webwork中使用动态Form字段= 一般情况下,webwork使用字段驱动或者模型驱动方式获取表单中的数据.(普通表单)但是有的情况下,需要编辑的字段名称内容都是动态变化的,此时就没法使用确定的类来做映射. 此时我想到有以下几种方法解决: 1.使用webwork的内部对象,取出所有参数 ActionConte

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()

Tags:WebWork 使用 动态

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接