मैं एक कस्टम जेएसपी टैग लिखना चाहता हूं जिसके आउटपुट में अन्य जेएसपी टैग शामिल हैं जिन्हें स्वयं भी गतिशील रूप से मूल्यांकन किया जाना चाहिए। लेकिन स्पष्ट रूप से सब कुछ है कि मेरे TagSupport
सबक्लास pageContext.getOut()
पर लिखता है, बिना किसी और मूल्यांकन के सीधे ग्राहक के पास जाता है।मैं एक कस्टम जेएसपी टैग कैसे बना सकता हूं जो अन्य जेएसपी टैग का उपयोग करता है?
मुझे लगता है कि यह बहुत आसान होना चाहिए, क्योंकि ऐसा लगता है कि यह पहली चीजों में से एक जैसा है जो कस्टम टैग का उपयोग करना चाहता है: कोड डुप्लिकेशंस से परहेज करते हुए अन्य कस्टम टैग को एन्सेप्लेटिंग और पुन: उपयोग करना। मेरी विशेष उपयोग के मामले पर कुछ पृष्ठभूमि है, अगर यह मदद करता है:
कैसे मैं निम्नलिखित कोड करते हैं यह स्पष्ट रूप से करने के लिए ?:
public class MyTag extends TagSupport {
public int doStartTag() throws JspException {
try {
pageContext.getOut().println(
"The output from this tag includes other tags " +
"like <mypackage:myOtherTag>this one</mypackage:myOtherTag> " +
"which should themselves be evaluated and rendered."
)
} catch (IOException e) {
throw new JspException(e);
}
return SKIP_BODY;
}
}
संपादित चाहता है क्या करते हैं। मेरे पास एक कस्टम टैग <user>
है जो गतिशील रूप से उपयोगकर्ता नाम को मेरे तरीके के लिए उपयोगी बनाता है (माउस के पहले नाम, अंतिम नाम, फोन नंबर इत्यादि के लिए होवर)। अब मैं उपयोगकर्ता टिप्पणियों को प्रदर्शित करने के लिए <comment>
पर एक और टैग लिख रहा हूं, और <comment>
टैग के आउटपुट में उपयोगकर्ता नामों को प्रस्तुत करने के लिए मैं अपने मौजूदा <user>
टैग का उपयोग करना चाहता हूं।
यह मदद करनी चाहिए: http://stackoverflow.com/ प्रश्न/2502282/कस्टम-जेएसपी-टैग-कैसे-करें-i-get-the-body-of-tag –