私が基本的にやりたいことは、ユーザーがフォームを送信するときに、セッターではないメソッドを呼び出すことです。
これが私が試したことです:
<h:form>
<p>
Your guess: <h:inputText value="#{quizBean.someMethod()}"/>
</p>
<p>
<h:commandButton value="Submit answer"/>
</p>
</h:form>
#{quizBean.someMethod}でも動作しません。
someMethodというフィールドを作成し、そのゲッターとセッターを生成すると、問題なく動作します。
とにかくこれを行うことはありますか?
私の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">
これを Tomcat 7.0 で実行し、jsf-api:2.1.19およびjsf-impl:2.1.19 jar を使用しています。
これは私が得ている例外です:
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)