2011-06-02 10 views
16

मेरे वर्तमान पृष्ठ पर मैं जेएसटीएल का उपयोग कर रहा हूं यह जांचने के लिए कि डेटा मेरे फॉर्म के लिए उपलब्ध है या नहीं। मुझे जिस समस्या का सामना करना पड़ रहा है वह है "यदि कोई डेटा नहीं है तो मैं टेक्स्ट फ़ील्ड को नहीं देख रहा हूं"। मैं इसका उपयोग करके टैग कर सकता हूं और टैग कर सकता हूं लेकिन यदि पृष्ठ के माध्यम से अन्य प्रकार का कोड है तो इससे बहुत कुछ होगा। क्या कोई मुझे इस समस्या का बेहतर क्लीनर समाधान सुझा सकता है?
जेएसटीएल सशर्त चेक

<c:if test="${salesData!=null}"> 
    <c:if test="${fn:length(salesBundle.salesArea) > 0}"> 
    <input type="text" id="sales_area" class="salesManagerStyle"> 
    </c:if> 
</c:if> 

उत्तर

17

आप एक test में कई शर्तें हो सकती है।

<c:if test="${salesData != null && fn:length(salesBundle.salesArea) > 0}"> 
    <input type="text" id="sales_area" class="salesManagerStyle"> 
</c:if> 

लेकिन क्या आप भी empty कीवर्ड का उपयोग दोनों एक nullcheck और lengthcheck करने के लिए कर सकते हैं।

<c:if test="${not empty salesData.salesArea}"> 
    <input type="text" id="sales_area" class="salesManagerStyle"> 
</c:if> 

अब यह सबसे अच्छा है जो आप प्राप्त कर सकते हैं। यदि आपको पृष्ठ में पुन: उपयोग करने की आवश्यकता है, तो पृष्ठ में कहीं और स्थित स्थिति, तो आप इसे <c:set> से भी सहेज सकते हैं।

<c:set var="hasSalesData" value="${not empty salesData.salesArea}" /> 
... 
<c:if test="${hasSalesData}"> 
    <input type="text" id="sales_area" class="salesManagerStyle"> 
</c:if> 
... 
<c:if test="${hasSalesData}"> 
    Foo 
</c:if> 
+0

BalusC , उत्तर के लिए धन्यवाद। <सी: सेट विचार सही लगता है :-) मुझे इस वास्तविक त्वरित – t0mcat

+0

को आज़माएं, वास्तव में अभी एहसास हुआ, यह अभी भी वही सी है: यदि। सी लागू करने के लिए: चुनें कि हमें अभी भी बयानों के माध्यम से जाना होगा। सही? – t0mcat

+0

हां, मूल रूप से। वह भुगतान है। यदि आप जेएसएफ जैसे एमवीसी फ्रेमवर्क का उपयोग कर रहे थे, तो आप घटकों पर 'rendered' विशेषता का उपयोग कर '' 'बचा सकते हैं। जैसे ''। – BalusC

0

मैं अपने वेब पेज में यथासंभव कम तर्क डाल करने के लिए प्रयास करते हैं,

"इंटरफेस स्तरीय आवेदन प्रसंस्करण की अपेक्षाकृत मुक्त है; खिड़कियों या वेब पृष्ठों मध्यम स्तर के लिए आगे कार्य अनुरोध" Graig लार्मन, यूएमएल और पैटर्न को लागू करना तीसरा संस्करण पृष्ठ 575 - सूचना प्रणाली: क्लासिक थ्री-स्तरीय वास्तुकला।

इसके अलावा डेटा बने पहले ग्राहक के स्तर पर नियंत्रण/सत्यापन करना ... लेकिन मुझे लगता है कि अगर वह विरासत और वेब पृष्ठों केवल बातें आप स्पर्श कर सकते हैं ... इस Sens बनाता