EL의 문자열 연결
이 질문에 이미 답변이 있습니다.
EL (Expression Language)의 삼항 연산자 내에서 문자열을 연결하고 싶습니다.
value라는 변수가 있다고 가정합니다. 비어 있으면 기본 텍스트를 사용하고 싶습니다. 그렇지 않으면 정적 텍스트를 추가해야합니다.
${(empty value)? "none" : value + " enabled"}
그러나 이것은 컴파일되지 않습니다. 이것을 작성하는 올바른 방법은 무엇입니까? 아니면 가능할까요?
이 답변은 구식입니다. 기술은 발전했습니다. 레거시 시스템으로 작업하지 않는 한 Joel의 답변을 참조하십시오 .
EL에는 문자열 연결 연산자가 없습니다. 다른 작업에 전달하기 위해 연결된 문자열이 필요하지 않은 경우 다음 식을 서로 옆에두기 만하면됩니다.
${value}${(empty value)? 'none' : ' enabled'}
EL 2를 사용하면 다음을 수행 할 수 있습니다.
#{'this'.concat(' is').concat(' a').concat(' test!')}
이미 EL 3.0 (Java EE 7, WildFly, Tomcat 8, GlassFish 4 등)을 사용중인 경우 새 +=
연산자를 사용할 수 있습니다 .
<c:out value="${empty value ? 'none' : value += ' enabled'}" />
그러나 아직 EL 3.0 을 사용 하지 않고 value
정품 java.lang.String
인스턴스 (따라서 예가 아님 java.lang.Long
) 인 경우 EL 2.2 (Java EE 7, JBoss AS 6/7, Tomcat 7, GlassFish 3 등) 호출 기능을 사용하십시오. 인수가있는 직접 메서드를 적용한 다음에 적용합니다 String#concat()
.
<c:out value="${empty value ? 'none' : value.concat(' enabled')}" />
또는 아직 EL 2.2를 사용하지 않는 경우 JSTL <c:set>
을 사용하여 값에 인라인 된 연결된 값으로 새 EL 변수를 만듭니다.
<c:set var="enabled" value="${value} enabled" />
<c:out value="${empty value ? 'none' : enabled}" />
Expression Language 3.0부터 문자열 연결에 + = 연산자를 사용하는 것이 유효합니다.
${(empty value)? "none" : value += " enabled"} // valid as of EL 3.0
EL 3.0 사양 인용 .
문자열 연결 연산자
평가하려면
A += B
- A와 B를 문자열로 강제 변환합니다.
- A와 B의 연결된 문자열을 반환합니다.
Mc Dowell의 대답 이 맞습니다. 변수 값을 다음과 같이 반환해야하는 경우 개선 사항을 추가하고 싶습니다.
${ empty variable ? '<variable is empty>' : variable }
1. + (연산자)는 EL 사용에 영향을주지 않습니다. 2. 그래서 이것은 그것을 사용하는 방법입니다
<c:set var="enabled" value="${value} enabled" />
<c:out value="${empty value ? 'none' : enabled}" />
이것이 당신에게 도움이 되었습니까?
이 예제와 같이 EL + MAP + JSON 문제에 대해 concat을 사용하는 것도 좋은 아이디어가 될 수 있습니다.
# {myMap [ ''. concat (myid)]. content}
참조 URL : https://stackoverflow.com/questions/3640254/string-concatenation-in-el
'Nice programing' 카테고리의 다른 글
-1에서 시작하는 루프는 아무것도 인쇄하지 않습니다. (0) | 2020.12.31 |
---|---|
SQLite3에서 "기본 값이 NULL 인 NOT NULL 열을 추가 할 수 없음"을 해결하는 방법은 무엇입니까? (0) | 2020.12.31 |
Xcode 6의 새 스토리 보드에서 초기보기 컨트롤러를 설정하는 방법이 없습니다. (0) | 2020.12.31 |
포착되지 않은 예외 :이 클래스는 키 값 코딩을 준수하지 않습니다. (0) | 2020.12.31 |
How to make a submit out of a … link? (0) | 2020.12.31 |