JSF を使用するのは今日で 2 日目です。Java のバックグラウンドはなく、かなり長い間 Flex と C++ を使用してきました。私がどこから来たのか誰もが知っているように、いくつかの歴史。「ラッシュ」プロジェクトの場合、問題が発生しています
<h:panelGroup id="txeTab" layout="block" class="txeTab">
<h1>TXE</h1>
<h:form id="txeForm">
<h:panelGrid columns="3">
<c:forEach items="${txeConfBean.getListTable()}" var="property">
<h:outputLabel id="key" value="${property.key}"/>
<h:inputText id="value" value="${property.value}" />
<h:commandButton value="Change" action='${txeConfBean.setProperty('key','value')}'/>
</c:forEach>
</h:panelGrid>
</h:form>
</h:panelGroup>
Beanは次のとおりです
public HashMap <String,String> getListTable ()
{
String[] keys = new String[super.keyData.size()];
HashMap <String,String> retKeys = new HashMap <String, String>();
super.keyData.toArray(keys);
for (int i=0;i<keys.length;i++)
{
if(!keys[i].isEmpty())
{
retKeys.put(keys[i],getProperty(keys[i]));
}
}
return retKeys;
}
キーと値のペアを再帰的に表示できません。しかし、誰かが更新したら、特定のキーを新しい値で更新しh:inputText id="value" value="${property.value}" />
、新しい値が書き込まれるコマンドボタンを押したいと思います。この点で助けが必要です。それをグーグルで検索すると、それを行う方法が多すぎると感じます。助けが必要。${txeConfBean.setProperty('key','value')}
InputText と OutPutText の両方の値を setPropertyに渡すにはどうすればよいですか?