如何在Struts 2动作的<s:textfield>中获取id属性的值?</s:textfield>

时间:2013-01-21 10:02:47

标签: java struts2

我有textfield这样:

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

可以在Struts2 Action类(id)中获取123456属性的值吗?

2 个答案:

答案 0 :(得分: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中。

答案 1 :(得分:0)

尝试

jQuery("input[name='abc']").attr("id");