String
의 c
태그를 사용하여 a 가 null인지 또는 비어 있는지 어떻게 확인할 수 JSTL
있습니까?
이름의 변수가 var1
있고 표시 할 수 있지만 비교기를 추가하여 유효성을 검사하려고합니다.
<c:out value="${var1}" />
null이거나 비어있을 때 유효성을 검사하고 싶습니다 (내 값은 문자열 임).
답변
JSTL의 c 태그를 사용하여 문자열이 null인지 또는 비어 있는지 어떻게 확인할 수 있습니까?
에 empty
키워드를 사용할 수 있습니다 <c:if>
:
<c:if test="${empty var1}">
var1 is empty or null.
</c:if>
<c:if test="${not empty var1}">
var1 is NOT empty or null.
</c:if>
또는 <c:choose>
:
<c:choose>
<c:when test="${empty var1}">
var1 is empty or null.
</c:when>
<c:otherwise>
var1 is NOT empty or null.
</c:otherwise>
</c:choose>
또는 조건부 태그를 조건부로 렌더링 할 필요가없고 태그 속성 내에서만 태그를 확인할 수있는 경우 EL 조건부 연산자를 사용할 수 있습니다 ${condition? valueIfTrue : valueIfFalse}
.
<c:out value="${empty var1 ? 'var1 is empty or null' : 'var1 is NOT empty or null'}" />
이들에 대한 자세한 내용은 ${}
일합니다 ( 표현 언어 에서 분리 될 수 있습니다, JSTL을 ), 여기에서 확인 .
또한보십시오:
답변
빈 문자열을 확인하려면 다음을 제안합니다.
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<c:if test="${empty fn:trim(var1)}">
</c:if>
또한 null을 처리합니다
답변
null 또는 비어있는 경우에만 기본 옵션을 사용할 수 있습니다.
<c:out default="var1 is empty or null." value="${var1}"/>
답변
이 코드는 정확하지만 null 또는 빈 문자열 대신 많은 공간 ( ”)을 입력하면 false를 반환합니다.
이 문제를 해결하려면 정규 expresion을 사용하십시오 (이 코드는 변수가 null이거나 비어 있거나 비어 있는지 확인합니다. org.apache.commons.lang.StringUtils.isNotBlank와 동일).
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<c:if test="${not empty description}">
<c:set var="description" value="${fn:replace(description, ' ', '')}" />
<c:if test="${not empty description}">
The description is not blank.
</c:if>
</c:if>
답변
여기 하나의 라이너가 있습니다.
EL 내부의 3 차 연산자
${empty value?'value is empty or null':'value is NOT empty or null'}
답변
당신이 사용할 수있는
${var == null}
대안 적으로.
답변
다음은 Java 컨트롤러에서 JSP 파일로 전달하는 int 및 String의 유효성을 검사하는 방법에 대한 예입니다.
MainController.java :
@RequestMapping(value="/ImportJavaToJSP")
public ModelAndView getImportJavaToJSP() {
ModelAndView model2= new ModelAndView("importJavaToJSPExamples");
int someNumberValue=6;
String someStringValue="abcdefg";
//model2.addObject("someNumber", someNumberValue);
model2.addObject("someString", someStringValue);
return model2;
}
importJavaToJSPExamples.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<p>${someNumber}</p>
<c:if test="${not empty someNumber}">
<p>someNumber is Not Empty</p>
</c:if>
<c:if test="${empty someNumber}">
<p>someNumber is Empty</p>
</c:if>
<p>${someString}</p>
<c:if test="${not empty someString}">
<p>someString is Not Empty</p>
</c:if>
<c:if test="${empty someString}">
<p>someString is Empty</p>
</c:if>