기본적으로 사용자가 양식을 제출할 때 setter가 아닌 메소드를 호출해야합니다. 여기 JSF 페이지에서 양식을 제출할 때 메소드를 호출하는 방법은 무엇입니까?
내가 시도 것입니다 : 그것은 하나 # {quizBean.someMethod} 작동하지 않습니다<h:form>
<p>
Your guess: <h:inputText value="#{quizBean.someMethod()}"/>
</p>
<p>
<h:commandButton value="Submit answer"/>
</p>
</h:form>
.
내가 라는 필드를 만들 경우
는을 것으로 someMethod 그것을 위해, 그것은 잘 작동합니다 getter 및 setter를 생성합니다.어쨌든 이것을 할 수 있습니까?
내 web.xml의 :
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
내가 톰캣 7.0에서이 작업을 실행하고 JSF-API를 사용하고 있습니다 : 2.1.19 및 JSF-IMPL : 2.1.19 항아리.
javax.servlet.ServletException: /index.xhtml @23,71 value="#{quizBean.someMethod()}": Property 'someMethod' not found on type com.tugay.problems.QuizBean
javax.faces.webapp.FacesServlet.service(FacesServlet.java:606)
글쎄, 내가 뭘하고 싶은지 실제로 입력란에서 텍스트를 가져 와서 그 값을 가진 메소드를 호출합니다. 나는 그것이 불가능하다고 생각한다. 답변 해주셔서 감사합니다. –
JSF가 (이 경우) 정확히 작동하는 방식은 아닙니다. 단지 와 같이 bean의 속성에 대한 값 표현식을 사용하면됩니다. 그런 다음 action 메소드에서'answer' 속성의 값을 사용할 수 있습니다. –
Michi