简体   繁体   中英

Problem in Custom tag in JSP

Hi i have a custom tag in JSP

<dc:drawMultiSelect
    availableLabel='<%=request.getAttribute("availableCoreColumn").toString()%>'
    selectedLabel='<%=request.getAttribute("selectedCoreColumns").toString()%>'
    availableCName="selectCol" 
    selectedCName="selectedCol"
    availableCId="select1" 
    selectedCId="select2" 
    sort="off"
    columnHelp="on" 
    helpURL='<%=((Map)request.getAttribute("constants")).get("WEB_CONTEXT").toString()%>/web/ABCGlossary.jsp'
    selectSize="8" 
    selectWidth="250px"
    selectMultiple="true"
    availableMap='<%=((HashMap) request.getAttribute("availableColMap"))%>'
    selectedMap='<%=((HashMap) request.getAttribute("selectedColMap"))%>'>

It is working fine except for helpURL='<%=((Map)request.getAttribute("constants")).get("WEB_CONTEXT").toString()%>/web/ABCGlossary.jsp'

it is not getting translated in jsp it is giving output some like %=((Map)request.getAttribute("constants")).get("WEB_CONTEXT").toString()%>/web/ABCGlossary.jsp

Can you please help me what is the problem it have enable rtexprvalue

This is likely down to the way you're mixing script expressions and literals, you're confusing the JSp compiler.

If this is JSP 2.0 or higher, you can make this much more readable by using EL expressions rather than scriptlets, like this:

helpURL="${requestScope.constants.WEB_CONTEXT + '/web/ABCGlossary.jsp'}"

Failing that, just make your life easier by assigning the value of the helpURL to a seperate variable and then referring to it in your tag

<% String helpURL = ((Map)request.getAttribute("constants")).get("WEB_CONTEXT").toString() + '/web/ABCGlossary.jsp' %>

helpURL='<%= helpURL  %>'

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM