java – 如何缩短自定义JSP标签生成的输出?

前端之家收集整理的这篇文章主要介绍了java – 如何缩短自定义JSP标签生成的输出?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
可以使我自己的JSP标签生成输出更短吗?例如,如下定义的标签生成5行而不是1.可以避免(没有连接所有5行到标签源中的1行)?
<%@ tag description="link" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ attribute name="href" required="true" type="java.lang.String" %>
<%@ attribute name="label" required="false" type="java.lang.String" %>
<a href="<c:url value="${href}"/>">${not empty label ? label : href}</a>

不是解决办法:

<%@ tag description="standard input" pageEncoding="UTF-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %><%@ attribute name="href" required="true" type="java.lang.String" description="address relative to web-app context" %><%@ attribute name="label" required="false" type="java.lang.String" description="link label" %><a href="<c:url value="${href}"/>">${not empty label ? label : href}</a>

解决方法

是的,您可以全局配置JSP解析器来修剪脚本表达式和标记留下的空格.

将其添加到您的webapp的web.xml(它必须是Servlet 2.5兼容!):

<jsp-config>
    <jsp-property-group>
        <url-pattern>*.jsp</url-pattern>
        <trim-directive-whitespaces>true</trim-directive-whitespaces>
    </jsp-property-group>
</jsp-config>

如果您定位到一个Servlet 2.4容器或更低版本,那么您必须编辑容器自己的web.xml,才能在全局应用.例如,在Tomcat中,它是/conf/web.xml文件.搜索< servlet>声明JspServlet,并在< servlet>中添加以下servlet init参数.宣言.

<init-param>
    <param-name>trimSpaces</param-name>
    <param-value>true</param-value>
</init-param>

猜你在找的Java相关文章