0

我有一个textfield这样的:

<s:textfield id="123456" name="abc" value="cateory name" />

可以获取Struts2 Action 类(即)中的属性id123456吗?

4

2 回答 2

2

使用 OO(面向对象)编程,您应该定义一个 Category 类,其中包含 id 和 name 字段以及相关的访问器方法,如下所示:

public class Category{
   private long id;
   private String name;

   public String getName(){
      return this.name;
   }
   public void setName(String name){
      this.name = name;
   }

   public long getId(){
      return this.id;
   }
   public void setId(Long id){
      this.id = id;
   }
}

然后根据您的需要使用隐藏或可见字段指向它们。

在您的情况下, ID 应该是一个隐藏字段:

<s:hidden name="category.id" value="123456" />
<s:textfield name="category.name" value="blabla" />

您甚至可以迭代一个类别列表,如下所示:

<s:iterator name="categories" var="cat" status="ctr">
   <s:hidden name="#cat[#ctr.index].id" value="123456" />
   <s:textfield name="#cat[#ctr.index].name" value="blabla" />
</s:iterator>

并自动将它们发布回目标 Action 的 ArrayList 中。

于 2013-01-21T13:10:34.047 回答
0

尝试

jQuery("input[name='abc']").attr("id");
于 2013-01-21T12:26:16.280 回答