struts2 기술을 사용하여 JSP 파일에서 부분 문자열 화하는 방법이 있습니까? struts2는 자체 taglib을 가지고 있고 ognl을 사용합니다. 누적 값 또는 빈 값에서 하위 문자열을 가져 오는 방법은 무엇입니까?jsp에서 부분 문자열을 처리하는 방법은 무엇입니까?
답변
http://java.sun.com/products/jsp/jstl/1.1/docs/tlddocs/index.html
FN을 찾습니다 문자열 및 그 변종.
내가 스트럿츠 1 사용하지만, 배포하는 웹 스피어를 사용하여 특히, 특정 상황에서 함수 라이브러리에주의하지 2.
했습니다! 필자가 일하는 회사는 함수 라이브러리를 제대로 지원하지 않는 Websphere 6.0 버전 11에 배포합니다 (태그 본문에 배치하면 제대로 작동하지 않습니다). 나는 어딘가에 버전 13에서 그것을 고쳤다는 것을 기억한다. 당신은 언제나 자신 만의 JSP 태그를 만들어서 아무 것도 할 수 없기 때문에 문제를 해결할 수있다.
하지 마십시오.
JSP에서 데이터 (하위 문자열)를 구문 분석해야하는 경우 비즈니스 논리 (작동 방식)와 프레젠테이션 논리 (표시 방법)가 혼합되어 있으므로 별도로 사용해야합니다. JSP에서 많은 조건문, 계산, 구문 분석 등을 수행하는 경우에는 많은 (미래의) 고통을 직접 만들어야합니다.
대신, 데이터를 표시하거나 표시하지 않는 논리가 없으며 필요한 경우 간단한 루프를 사용하여 JSP를 간단하게 만들 수 있습니다. 모든 중요하지 않은 논리를 Java 클래스로 변환하여 데이터를 JSP로 푸시합니다. 여기에서 Java의 모든 기능을 사용할 수 있습니다. 가능한 한 많이 Java 기반 응용 프로그램에 JSP를 단순한 "스킨"으로 만듭니다.
자세한 내용은 Terence Parr의 백서 http://www.cs.usfca.edu/~parrt/papers/mvc.templates.pdf을 참조하십시오. 자신을 많은 상심과 유지 관리하십시오. 당신은 문자열의 처음 3 개 문자를 얻기 위해 원하는 경우, 예를 들어
fn:substring(YOUR_FIELD, START_INDEX, END_INDEX)
, 당신이 할 수 있습니다 : 여기
${fn:substring('scrooge', -1, 3)}
, 그것은에 대해 동일한 주소 여야합니다 사용할 수있는 XML 네임 스페이스입니다 <%는
이
xmlns:fn="http://java.sun.com/jsp/jstl/functions"
Struts2 OGNL을 사용 %> 문을 포함한다. 즉, S2 태그에서 직접 객체 메서드를 호출 할 수 있습니다.
과 같이: 일반적으로
<s:property value="str.substring(0, 5)"/>
유용한 조언을하지만, 질문에 대답하지 않습니다. 이것이 유용한 0의 경우가 있다고 말하는 것은 약간 극단적입니다. – demongolem