快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

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()
{
return field;
}
}



D:xwork.xml里面的部分配置

<action name="hello" class="helloWorld.HelloAction">
<result name="error" type="dispatcher">ex02-index.jsp</result>
<result name="success" type="dispatcher">ex02-success.jsp</result>
</action>



  3.使用用户自定义类来实现

这种方法不多讨论,用户的类可能需要实现getXXX(String sKey)类似的函数.



  总结:

当然应该还有其他方式实现,而且可能更好,不过我刚看webwork没有几天,对我关心的问题提出了上面的方式,肯定是比较简朴的想法.
返回类别: 教程
上一教程: 不能使用ASP标记的时候的一个解决办法
下一教程: 将你的网站设置为客户的信任站点--WSH方案

您可以阅读与"WEBWORK中使用动态FORM字段"相关的教程:
· ASP中使用FORM和QUERYSTRING集合
· ASP.NET中使用多个RUNAT=SERVER FORM
· 如何在ASP中使用MYSQL
· 在ASP中使用SQL语句之12:连接
· 在ASP中使用SQL语句
    微笑服务 优质保证 索取样品