我基本上想要做的是,當用戶提交表單時,應該調用一個不是setter的方法。如何在JSF頁面上提交表單時調用方法?
這是我曾嘗試:
<h:form>
<p>
Your guess: <h:inputText value="#{quizBean.someMethod()}"/>
</p>
<p>
<h:commandButton value="Submit answer"/>
</p>
</h:form>
它不#{} quizBean.someMethod工作要麼。
如果我創建了一個名爲場的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">
我在Tomcat 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