2016-11-28 4 views
0

Я понимаю, как изменить значение данного тега jsf (например, ярлык кнопки) в зависимости от значения bean bean. Хотя я думал, есть ли возможность установить значение в соответствии с возвращаемым значением функции js.JSF 2 заданное значение с помощью функции js

Я предположил бы, что-то вроде OnClick есть:

значение = «calljsfunction()»

где возвращаемое значение будет значение кнопки, хотя я не могу найти синтаксис , это сработает.

Что-то вроде этого существует?

+2

Я думаю, что невозможно. Функция JavaScript может быть выполнена на некотором событии, таком как загрузка страницы, onclick и т. Д., А атрибут value - не событие. Если вы хотите достичь такой функциональности, установите значение кнопки на загрузке страницы (событие onload) –

+0

Большое спасибо! Это действительно имеет смысл, если вы описываете это так! – user5918250

ответ

0

Bind значение кнопки из резервных переменного боба и инициализировать переменную buttonName на событии preRenderView

<ui:define name="metadata"> 
    <f:metadata> 
     <f:event type="preRenderView" 
      listener="#{myBean.initBean()}" /> 
    </f:metadata> 
</ui:define> 
<h:commandButton value="#{myBean.buttonName}" action="#{myBean.execute()}" /> 



@ManagedBean 
@RequestScoped 
public class MyBean { 
    private String buttonName; 
    public String getButtonName() { 
     return buttonName; 
    } 
    public void setButtonName(String buttonName) { 
     this.buttonName= buttonName; 
    } 
    public void initBean(){ 
     setButtonName("Submit"); 
    } 
} 
+0

Привет, Альбин, вы уверены, что ответили на вопрос (можно ли установить параметр значения в качестве возвращаемого значения функции js вместо возвращаемого значения компонента bean-компонента). Или я что-то понимаю неправильно? Спасибо за ответ! – user5918250

+0

«Я понимаю, как я могу изменить значение данного тега jsf (например, ярлык кнопки), в зависимости от значения bean bean bean» - это часть вашего вопроса, на что я ответил так. – Albin

0

Для установки значения кнопки через JavaScript, вы можете использовать OnLoad события и установленное значение кнопки -

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:h="http://java.sun.com/jsf/html"> 

<h:head> 
    <title>JSF 2</title> 
    <script> 
     window.onload = function() { 
      // write your logic for finding value of the button 
      document.getElementById("myForm:button").value = "Submit"; 
      // or 
      // document.getElementById("myForm:button").value = getValue(); 
      // function getValue() { return "submit"; } 

     } 
    </script> 
</h:head> 
<h:body> 
    <h2>JSF 2</h2> 
    <h:form id="myForm">Type your name here : 
      <h:inputText value="#{helloWorld.name}"></h:inputText> 
     <br /> 
     <br /> 
     <h:commandButton id="button" style="margin-left:120px;" value="" 
      action="welcome"></h:commandButton> 
    </h:form> 
</h:body> 

</html> 

Вы также можете поместить свой код JavaScript в отдельный .js файл

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