2014-01-29 4 views
0

такой простой, как этот. Но выходной текст не передается другой функции или форме. inputtext конечно работает, но выглядит уродливым.как передать выходной текст в другую форму

Что мне следует подставлять в выходной текст?

<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

добавляет сеттер для 'stringAverage' вариант? B/c, что исключает исключение, и вы можете использовать подход 'inputHidden'. – mabi

ответ

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:
Это будет вызывать setTheValue с outputtext значением

function submitFieldValue(){ 
var x = document.getElementById("text1").value; 
setTheValue(x); 
} 
0

Если вы хотите иметь «хх» значение, переданное после нажатия на CommandButton, вы можете использовать скрытое поле для его

<h:inputHidden value="some text" /> 

или вы можете использовать

<h:inputText readonly="true" /> 

, который отобразит текст во входном тексте, который пользователь не может изменить (он может выглядеть как outputText), но его значение будет отправлено после нажатия кнопки.

+0

inputText выглядит очень плохо. и inputHidden дают мне ошибку. – user2130951

0

Насколько я понимаю, вы хотите просмотреть некоторые данные в выходном тексте после нажатия кнопки, не так ли?
Пожалуйста, если я ошибаюсь, скажите мне, чтобы удалить ответ!

Является ли этот случай вам нужно сделать кнопку Отрисовывает outputfield на кликнули:

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 при щелчке.

+0

Я хочу, чтобы outputtext мог отправлять данные в другую форму на submit. Так же, как если бы это было поле ввода текста. – user2130951

+0

@ user2130951 Хорошо, пожалуйста, следуйте моему новому ответу? –

Смежные вопросы