आदेश डिफ़ॉल्ट स्प्रिंग सुरक्षा लॉगिन प्रपत्र को बदलने के लिए मैं इस समाधान के साथ आया था:जेएसएफ में फॉर्म एक्शन कैसे परिभाषित करें?
<form name="f" action="../j_spring_security_check" method="POST" >
<h:panelGrid columns="2">
<h:outputText value="Username" />
<h:inputText id="j_username" />
<h:outputText value="Password" />
<h:inputText id="j_password" />
</h:panelGrid>
<h:commandButton value="Login" />
</form>
लेकिन सादा <form>
टैग के बजाय मैं <h:form>
का उपयोग करने के बाद से Primefaces घटकों केवल <h:form>
के भीतर काम करना चाहते हैं। <h:form>
का उपयोग करके फॉर्म कार्रवाई स्वचालित रूप से जेएसएफ द्वारा वर्तमान पृष्ठ पर सेट की जाएगी, न कि ऊपर दिए गए उदाहरण में मेरे द्वारा निर्धारित मूल्य पर। मुझे अब "../j_spring_security_check"
कार्रवाई को कोड करना होगा? मैं इसे <h:commandButton>
में डाल की कोशिश की के रूप में इस प्रकार है, लेकिन वह काम नहीं करता:
<h:form name="f">
<h:panelGrid columns="2">
<h:outputText value="Username" />
<h:inputText id="j_username" />
<h:outputText value="Password" />
<h:inputText id="j_password" />
</h:panelGrid>
<h:commandButton value="Click here" action="../j_spring_security_check" />
</form>
यह त्रुटि संदेश Unable to find matching navigation case with from-view-id '/login.xhtml' for action '../j_spring_security_check' with outcome '../j_spring_security_check'
की ओर जाता है।
क्या यह faces-config.xml
में नेविगेशन केस को परिभाषित करने का एकमात्र तरीका है? मैं इस साधारण उपयोग के मामले के लिए एक बीन का उपयोग करने से बचना चाहता हूं।
action="#{managedBean.method}"
[इस जवाब देखें] (http://stackoverflow.com/questions/3807746/jsf-change-the-action-for-a-hcommandbutton-2-0/3807808#3807808) 'ज के बारे में: कमांड बटन की कार्रवाई –
@ मैट: दुर्भाग्य से साइट '../ j_spring_security_check' कहलाए जाने के लिए एक एक्सएचटीएमएल साइट नहीं है। आपके द्वारा प्रदान किया गया लिंक यह मानता है। –