我应该用output?
替换outputtext<h:form>
<h:outputtext value="xx" />
<h:commandButton action="#{serviceTest.function() }" value="test"
</h:commandButton>
</h:form>
真实世界的例子
<p:column id="average" sortBy="#{resultClub.stringAverage}">
<f:facet name="header">Snitt</f:facet>
<h:outputText id="testing" value="#{resultClub.stringAverage}" />
<h:inputHidden id="hiddenAvg" value="#{resultClub.stringAverage}" />
</p:column>
javax.faces.component.UpdateModelException: javax.el.PropertyNotFoundException: /hcp/showAverages.xhtml @96,74 value="#{resultClub.stringAverage}": Property 'stringAverage' not writable on type com.jk.hcp.ResultClub
javax.faces.component.UIInput.updateModel(UIInput.java:867)
javax.faces.component.UIInput.processUpdates(UIInput.java:749)
org.primefaces.component.api.UIData.process(UIData.java:328)
答案 0 :(得分:0)
如果要在单击commandButton后提交“xx”值,可以使用隐藏字段
<h:inputHidden value="some text" />
或者您可以使用
<h:inputText readonly="true" />
将在输入文本中呈现用户无法更改的文本(可能看起来像outputText),但在单击按钮后将提交其值。
答案 1 :(得分:0)
我的理解是你想在按下按钮后查看输出文本中的一些数据,对吧? 如果我弄错了,请告诉我删除答案!
在这种情况下,您需要使按钮在单击时呈现输出字段:
的outputText:
<h:outputText id="text1" value="#{serviceTest.text1Value}" />
按钮:
<a4j:commandButton value="click me"
action="#{serviceTest.function() }" value="test"
render="text1" >
</a4j:commandButton>
正如您所看到的,我使用了a4j:commandButton
,这使我能够在点击时通过ID呈现页面上的任何元素。
答案 2 :(得分:0)
在你向我描述了这个问题之后,我为你弄清楚了......
你可以使用javascript
<强>的outputText:强>
<h:outputText id="text1" value="xx" />
按钮:强>
<h:commandButton value="click me"
action="#{serviceTest.function()}" value="test"
onclick="submitFieldValue()" >
</h:commandButton>
<强> XHTML:强>
这将在您的控制器中设置myfield实例变量。它基本上会在编译时生成一个java脚本函数,它可以调用控制器。
<a4j:jsFunction name="setTheValue">
<a4j:actionparam name="param" assignTo="#{serviceTest.myfield}"/>
</a4j:jsFunction>
<强> JavaScript的:强>
这将使用outputtext值
setTheValue
function submitFieldValue(){
var x = document.getElementById("text1").value;
setTheValue(x);
}