2011-12-23 13 views
5

सेट मैं <spring:message /> को तर्क के रूप में कुछ लिंक का उपयोग करें और उस के लिए <c:set/> उपयोग करने के लिए की जरूरत है। संदर्भ के सापेक्ष लिंक रखने के लिए मैं <c:url> का उपयोग करता हूं। <c:url/> का उपयोग <c:set/> में नीचे जैसा काम नहीं करता है?ग का उपयोग करना: ग में यूआरएल:

<c:set value='<c:url value="/x"/>' var='doc1'/> 
<spring:message code="doc.link" arguments="${doc1}"/> <%-- ${doc1} is empty --%> 

simlar <a href/> का उपयोग कर काम करता है अच्छा:

<c:set value='<a href="/fullurl/x">here</a>' var='doc1'/> 
<spring:message code="doc.link" arguments="${doc1}"/> 

messages.properties:

doc.link = Doc is {0} 

संपादित मैं बिल्कुल ऐसा ही कुछ काम करने की जरूरत:

<c:set value='<a href="<c:url value="/x"/>">here</a>' var='doc1'/> 

उत्तर

13

टैग शरीर में यह रखो:

<c:set var="doc1"><a href="<c:url value="/x" />">here</a></c:set> 
<spring:message code="doc.link" arguments="${doc1}"/> 

या यदि आप XML ठीक से formness हैं:

<c:url var="url" value="/x" /> 
<c:set var="doc1"><a href="${url}">here</a></c:set> 
<spring:message code="doc.link" arguments="${doc1}"/> 
4

<c:url> बल्कि यह outputting से, एक चर के लिए परिणाम स्थापित करने के लिए एक विकल्प है। बस var विशेषता सेट करें। इस प्रकार क्योंकि अपने संदेश doc.link = Doc is {0} वह जगह है जहाँ में {0} संदेश के अंत में दिखाई देता है, तो आप बस संदेश doc.link = Doc is को बदल सकते हैं और क्या कर सकते हैं

<c:url var="myURL" value="/x" /> 
<spring:message code="doc.link" arguments="${myURL}" /> 

:

<c:url value="..." var="doc1" /> 
+0

मैं सहमत नहीं हूँ। मैं ऐसा ही कुछ प्रयोग कर रहा हूँ: '" /> 'वर विशेषता के बिना – marioosh

+1

क्या ऐसा नहीं है कि करने के लिए एक _option_ है से सहमत नहीं हैं तो आप उस विकल्प है, यह उत्पादन के लिए परिणाम होगा उपयोग नहीं करते हैं।?। पृष्ठ। यदि आप इसका उपयोग करते हैं ('var' निर्दिष्ट करें), तो इसे – Bozho

+0

@ मारियोशोश के बजाय वहां संग्रहीत किया जाएगा कृपया मेरे अपडेट किए गए उत्तर को देखें – adarshr

3

आप ऐसा कर सकते हैं

<spring:message code="doc.link" /><a href="<c:url value="/x"/>">here</a>

यह वही करेगा जो आप करना चाहते हैं!