2009-06-15 11 views
5

मेरे पास यह जेएसपी कोड स्निपेट है:जेएसटीएल टैग के साथ ईएल में कैरेक्टर से कैसे बचें?

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 

<c:choose> 
    <c:when test="${var1.properties[\"Item Type\"] eq \"Animal's Part\"}"> 
    <c:set var="cssClassName" value="animalpart" /> 
    </c:when> 
    <c:otherwise> 
    <c:set var="cssClassName" value="" /> 
    </c:otherwise> 
</c:choose> 

जेएसपी सर्वर द्वारा संकलित नहीं किया जा सकता है। हालांकि, अगर मैं "पशु के भाग" से चरित्र "" को हटा देता हूं, तो यह संकलित है। मैंने "\" चरित्र का उपयोग करके इसे बचने की कोशिश की लेकिन यह अभी भी मुझे त्रुटि देता है।

कोई भी सुझाव/सहायता की सराहना की जाती है। यदि संभव हो तो मैंने स्क्रिप्टलेट का उपयोग करने से बचने की कोशिश की।

धन्यवाद।

संपादित करें: मैं इसे काम करने में कामयाब रहा (स्टैक ओवरफ्लो पर पोस्ट करने के बाद), इस प्रश्न में समाधान में से एक के रूप में पोस्ट किया गया। मैंने उससे पहले पोस्ट किए गए अन्य समाधान की कोशिश की (विन्सेंट और एडी द्वारा), हालांकि, दुर्भाग्यवश, मेरे पर्यावरण में कोई भी काम नहीं करता है, हालांकि मुझे लगता है कि वे उत्तर के पर्यावरण में काम कर सकते हैं। धन्यवाद।

+0

किस वातावरण में एडी/विन्सेंट का समाधान काम नहीं करता था? – hop

उत्तर

3

इस समाधान है कि में काम करता है:

<c:out value="${formulario}" escapeXml="false" /> 
+0

** item_animalpart ** और ** item_treepart ** अनावश्यक परिभाषाएं हैं – gavenkoa

6

उदाहरण के लिए इस

<c:when test='${var1.properties["Item Type"] eq "Animal\'s Part"}'> 
0

उपयोग escapeXml = "false" कोशिश:

<c:when test="${var1.properties['Item Type'] eq 'Animal\'s Part'}"> 

<c:when test='${var1.properties["Item Type"] eq "Animal\'s Part"}'> 
3

आप दो आसान विकल्प हैं मेरा उपयोग केस:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 

<c:set var="itemType"  value="${var1.properties[\"Item Type\"]}" /> 
<c:set var="item_animalpart" value="Animal's Part" /> 
<c:set var="item_treepart" value="Tree's Part" /> 

<c:choose> 
    <c:when test="${itemType eq name_item_animalpart}"> 
    <c:set var="cssClassName" value="animalpart" /> 
    </c:when> 
    <c:when test="${itemType eq name_item_treepart}"> 
    <c:set var="cssClassName" value="treepart" /> 
    </c:when> 
    <c:otherwise> 
    <c:set var="cssClassName" value="" /> 
    </c:otherwise> 
</c:choose> 
संबंधित मुद्दे