我正在尝试做一些与此Getting value from dynamically created inputText非常相似的事情,我有一些困难,这就是为什么我会在这里提出我的问题,希望你能帮助我。我想用Object绑定动态生成的输入框。我有:
<c:forEach items="${filterTypeBean.listTextFilterTypes()}"
var="inputBoxes">
<h:outputText value="${inputBoxes.filterTypeName}"
style="width: 100px; white-space: normal; border: 3px" />
<h:inputText value="${requestBean.filterTypeValue}" />
</c:forEach>
在filterTypeValue的请求bean中,我有:
private String filterTypeValue;
public String getFilterTypeValue() {
return filterTypeValue;
}
public void setFilterTypeValue(String filterTypeValue) {
this.filterTypeValue = filterTypeValue;
}
我的问题来自于我有三个实体--TRequest,TRequestFilter,TFilter。 TRequestFilter是一个映射表,我有TREQUEST,TFILTER和我想要的值,并从输入框后面的DB中插入。
filterTypeBean.listTextFilterTypes()我从FilterTypeBean获取:
public List<TFilterType> listTextFilterTypes() {
EntityManager em = HibernateUtil.getEntityManager();
Query q = em.createQuery("select u from TFilterType u where u.filterType like 'T'");
List<TFilterType> resultList = q.getResultList();
return resultList;
}
我想在RequestBean中设置inputbox的值,因为首先我在DB中插入一个新的Request,之后我想在TRequestFilter表中插入这个新Request的过滤器(我需要TFilter和插入值的原因)为了它)。
非常感谢您的帮助!
答案 0 :(得分:0)
我设法让它在我的bean类中使用映射:
private Map<TFilterType, Object> values = new HashMap<TFilterType, Object>();
public Map<TFilterType, Object> getValues() {
return values;
}
和迭代器:
while (it.hasNext()) {
Map.Entry pairs = (Map.Entry) it.next();
if (pairs.getValue() != null) {
System.out.println(pairs.getKey() + '='+ pairs.getValue());
}
it.remove(); // avoids a ConcurrentModificationException
}
以这种方式我拥有和Object及其值,我能够在数据库中的新实体中插入记录。