2012-09-11 2 views
0

Java로 로컬 eXist DB를 검색하는 JSP 페이지가 있습니다. JSP의 <div> 태그에 Java String의 값을 전달하려고합니다.JSP로 자바 문자열을 전달하는 방법 - 제목 검색 결과로

결과 컨테이너의 제목이 사용자가 검색 한 내용을 반영하도록하려면이 작업을 수행하고 싶습니다.

내가 containerTitle에 개념 바 또는 개념 제목 중 하나를 변경 찾고

<div class='concept-container result-container'> 
<ul class="menu menu-style"> 
<li> 
    <a href="javascript:;">Concept Bar</a> 
    <ul> 
     <div id="title">Concept Title</div> 
<% 

    String containerTitle = userSearchQuery; 

내 코드 "containerTitle 검색에서 9 경기를 반환했습니다." (이는 사용자가 검색 한 문자열을 저장합니다. 어떤 도움이 많이 appriciated됩니다

을.

답변

1

먼저 Java 인라인 코드 (<% ... &>) 사용을 피해야합니다. 때로는 필요하지만 이런 식의 코드는 읽기 쉽지 않고 우려의 분리와 안전하지 못하게됩니다.

<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%> 
    <div> 
      <c:out value="${containerTitle}"/> 
    </div> 

: 나는 출력 값을 JSTL을 사용하는 것이 좋습니다 것, 당신의 JSP에서

request.setAttribute("containerTitle", "Your search for Foo Bar has returned 9 matches”); 

:

문제를 해결하려면, 서블릿은 요청에 필요한 값을 넣어과 장소한다 문자열을 setAttribute으로 전달하는 데 제한이 없습니다. 당신은 정보를 포함하는 간단한 객체를 생성하고 객체의 속성에 액세스하기 위해 "점의 언어"를 사용할 수 있습니다 :

<div> 
      <c:out value="${searchResult.title}"/> 
    </div> 

나는이 주제에 대해 깊이 다이빙 JSP 프로그래밍에 대한 좋은 자습서를 읽는 게 좋을 것.

+0

감사합니다. – Deepend

2

그런 다음 당신이 당신의 JSP 페이지 나 request.foo를 사용에 내장 된 자바 코드에 request.getAttribute 말할 수 있습니다. HTTPServletRequest에서의 setAttribute 메소드를 사용 JSP로 표현 언어에 foo이라는 속성을 읽을 수 있습니다.

을 그냥 containerTitle의 값을 인쇄하려면 ... out.print(containerTitle) 할 것입니다하지만, 임베디드 자바 인쇄 코드와 JSP 오히려 못생긴

관련 문제