반응형
<li class="${isTrim ? 'trim' : 'notTrim'} ${true ? 'true' : 'false'}">
예상 class="trim true"
</li>
출력 값
<li class="trimtrue">
예상 class="trim true"
</li>
JSP에서 스크립틀릿을 사용하게 되면 빈줄이 생성된다.
톰캣 설정을 통해서 빈줄을 제거 할 수 있다.
참고 : tomcat.apache.org/tomcat-8.5-doc/jasper-howto.html#Production_Configuration
- trimSpaces - Should template text that consists entirely of whitespace be removed? true or false, default false.
첫번째 web.xml으로 적용
conf/web.xml 에서 org.apache.jasper.servlet.JspServlet 에 대한 부분을 수정한다.
conf/web.xml
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
..
<init-param>
<param-name>trimSpaces</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
위의 소스처럼 적용하고 톰캣을 재시작한뒤에 소스보기를 하게 되면
빈줄이 삭제 된다.
--------------------------------
두번째 WebApplicationInitializer사용하는경우
아래처럼 initParameter값을 추가해준다.
public class TestAppInitializer extends WebApplicationInitializer{
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
..
..
addJspServletInitParam(servletContext);
..
}
private void addJspServletInitParam(ServletContext servletContext) {
ServletRegistration jspServlet = servletContext.getServletRegistration("jsp");
jspServlet.setInitParameter("trimSpaces", "true");
}
}
# 주의
스크립틀릿 또는 EL을 연속으로 사용할 경우 trimSpace 설정에 의해서 아래처럼 공백이 무시된다.
<li class="${true ? 'trim' : 'notTrim'} ${true ? 'true' : 'false'}">
expect class="trim true"
</li>
결과 :
<li class="trimtrue">
expect class="trim true"
</li>
반응형
'java' 카테고리의 다른 글
정규식 UnicodeBlock을 이용하여 입력 제한 처리 (0) | 2020.12.16 |
---|---|
Unicode String escape unescape (0) | 2020.12.07 |
redirect http to https (response.sendRedirect) (0) | 2020.11.25 |
logback 설정 정보 확인하기 (0) | 2020.06.10 |
스프링부트 로그레벨 변경 (0) | 2020.05.20 |