论坛首页 Java企业应用论坛

webwork能实现这样的功能吗?

浏览 3495 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2005-09-08  
一个Parameter类,大致如下:
public class Parameter{
  private static int m=0;
  private final static int INTEGER=m++;
  private final static int DOUBLE=m++;
  private final static int STRING=m++;


  Object value;
  int type;

  public Parameter(Object value);{
      initType(value);;
      this.value=value;
  }

   Public int getType();{
      return type;
   }

   public Object getValue();{
      return value;
   }

    public void setValue(Object value);{
        initType(value);;
        this.value=value;
    }

    private void initType(Object value);{
      if(value instanceof Integer);
          type=INTEGER;
      else if(value instanceof Double);
          type=DOUBLE;
      else
          type=STRING;
    }

    public boolean isString();{
       return type==STRING;
    }
    public boolean isDouble();{
       return type==DOUBLE;
    }
    public boolean isInteger();{
       return type==INTEGER;
    }
}



现在,假设从数据库中取出的是Parameter类的List,要从表单中修改这个List中的Parameter对象的值,该如何做?
看了看文档,不知道怎么实现啊。
不过这样的问题,在Jsf中很简单就可以实现。
   发表时间:2005-09-08  
javaeye上去年就有关于这个问题的讨论了
moxie应该写过这方面的介绍
自己找找吧
基本上是使用XWorkList对象
0 请登录后投票
   发表时间:2005-09-09  
xworkList包装同一类对象,我也知道。
但是,这里的Parameter类包装了不同类型的对象,我就不知道,webwork如何能够把它们从String类型正确的转换回来。
用xworkList包装Parameter???我没有一点思路。
0 请登录后投票
   发表时间:2005-09-10  
我想没办法转吧,setValue方法重载也没用
jsf中是怎么实现的?
0 请登录后投票
   发表时间:2005-09-12  
jsf中有类型转换标记-converter,可以轻松实现类型转换。当然webwork也有类型转换,但功能和灵活性就差多了。
<h:inputText value="#{formParameter.value}"
	readonly="#{formParameter.readOnly}"
	rendered="#{formParameter.long}">
	<f:converter converterId="LongConverter" />
</h:inputText>

<h:inputText value="#{formParameter.value}"
	readonly="#{formParameter.readOnly}"
	rendered="#{formParameter.double}">
	<f:converter converterId="DoubleConverter" />
</h:inputText>

<h:inputText value="#{formParameter.value}"
	readonly="#{formParameter.readOnly}"
	rendered="#{formParameter.date}">
	<f:convertDateTime pattern="yyyy-MM-dd" />
</h:inputText>

<h:selectOneRadio value="#{formParameter.value}"
	readonly="#{formParameter.readOnly}"
	rendered="#{formParameter.boolean}">
	<f:selectItems value="#{taskBean.booleanItems}" />
	<f:converter converterId="BooleanConverter" />
</h:selectOneRadio>
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics