2013-02-06 12 views
5

बन गया है मैं जावा एचटीपी सर्लेट के माध्यम से जेएसपी में दो विशेषताओं को भेजने का प्रयास कर रहा हूं। समस्या यह है कि वे दोनों मेरी जेएसपी फ़ाइल में 0 (संख्या) के रूप में दिखाई दे रहे हैं।जेएसपी अनुरोध में गुण 0

यहाँ मेरी RegisterDeveloper.java फ़ाइल में doGet विधि है:

public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 
     // Fill up default attributes for the template 
     req.setAttribute("validation-error", false); 
     req.setAttribute("validation-error-message", ""); 

     // Redirect to register page 
     req.getRequestDispatcher("/register.jsp").forward(req, resp); 
} 

बहुत ही सरल और जब मैं विशेषताओं के माध्यम से कदम अनुरोध करने के लिए जोड़ रहे हैं और ब्राउज़र /register.jsp पृष्ठ पर पुनः निर्देशित किया गया है।

यहाँ register.jsp पेज की समस्या हिस्सा है:

<c:if test="${validation-error}"> 
    <div id="validationError"> 
     <span id="errorText"> 
      ${validation-error-message} 
     </span> 
    </div> 
</c:if> 

किसी कारण गुण मैं अनुरोध करने के लिए जोड़ा सब बन गए हैं के लिए '0'।

ब्राउज़र में प्रदर्शित त्रुटि है:

HTTP Status 500 - javax.el.ELException: Cannot convert 0 of type class java.lang.Long to class java.lang.Boolean 

मेरे web.xml बैठाना यह प्रासंगिक है:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> 

    <display-name>RServer</display-name> 
    <welcome-file-list> 
     <welcome-file>homepage.html</welcome-file> 
    </welcome-file-list> 

    <servlet-mapping> 
    <servlet-name>default</servlet-name> 
    <url-pattern>*.css</url-pattern> 
    </servlet-mapping> 

    <servlet> 
     <servlet-name>RegisterDeveloper</servlet-name> 
     <servlet-class>com.steven.RegisterDeveloper</servlet-class> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>RegisterDeveloper</servlet-name> 
     <url-pattern>/register</url-pattern> 
    </servlet-mapping> 

</web-app> 

मैं tomcat6 उपयोग कर रहा हूँ। यह सब बहुत सीधे आगे लगता है, और मेरे पास अन्य पृष्ठों पर काम करने वाला बहुत ही समान कोड है, इसलिए मैं वास्तव में क्या देख रहा हूं यह देखने के लिए संघर्ष कर रहा हूं!

कोई भी मदद, बहुत सराहना की।

मैं अपने/वेब-INF/lib/फ़ोल्डर में javax.servlet.jsp.jstl-1.2.1.jar और javax.servlet.jsp.jstl-api-1.2.1.jar है ..

उत्तर

9

एक specification I googled

एक पहचानकर्ता एक जावा पहचानकर्ता होने के लिए विवश है से - जैसे, कोई - नहीं, कोई /, आदि

validation-error एक जावा पहचानकर्ता, लेकिन validation के लिए एक घटाव आपरेशन नहीं है और error। जब से तुम उन निर्धारित नहीं किया है, वे null हैं और यह लागू होता है:

1.7.1 द्विआधारी ऑपरेटरों - एक {+, -, *} बी ■ ए और बी अशक्त कर रहे हैं, वापसी (लांग) 0

तो मुझे लगता है कि परीक्षण if((Long)0 == true) बन जाता है।

req.setAttribute("validationError", false);${validationError}

+0

कि यह था के साथ कोशिश करो! मुझे यकीन नहीं है कि मेरे चरम नामों में हाइफ़न क्यों था .. बहुत धन्यवाद! –