java - JSP中自定义标签的问题

标签 java jsp custom-tag

嗨,我在 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"))%>'>

它工作正常,除了 helpURL='<%=((Map)request.getAttribute("constants")).get("WEB_CONTEXT").toString()%>/web/ABCGlossary.jsp'

它没有被翻译成jsp 它给出的输出类似于 %=((Map)request.getAttribute("常量")).get("WEB_CONTEXT").toString()%>/web/ABCGlossary.jsp

你能帮我看看它启用 rtexprvalue 的问题是什么吗

最佳答案

这可能取决于您混合脚本表达式和文字的方式,您混淆了 JSp 编译器。

如果这是 JSP 2.0 或更高版本,您可以使用 EL 表达式而不是 scriptlet 来使其更具可读性,如下所示:

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

如果做不到这一点,只需将 helpURL 的值分配给单独的变量,然后在标记中引用它即可让您的生活更轻松

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

helpURL='<%= helpURL  %>'

关于java - JSP中自定义标签的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1078110/

相关文章:

java - 在java中构建测试程序

java - 从 JSP 或 HTML 向 servlet 发送多个参数

java - 无法为论坛创建答案表?

java - Java/JSP 中字符串到整数的转换

javascript - 如何使用 jQuery 获取自定义标签的值

java - 实体位于多个 JAR 文件中时的 JPA/Hibernate 映射错误

Java 和 XML 输出

java - ModelAndView对象未返回到jsp

JSP/JSTL : Passing a Collection to a Custom Tag

jquery - 使用 jquery 获取自定义标签(包含冒号)值