2010-04-03 2 views
0

저는 struts2와 biles (2) 프레임 워크에서 BBS를 개발하고 있습니다.어떻게 제목을 동적으로 만들 수 있습니까?

ActionSupport 클래스의 값을 푸시하고 타일의 layout.jsp에 값을 팝하고 싶습니다. 하지만 난 그 값에 접근하지 못하고있다.

단계별로 설명 드리겠습니다.

1) 사용자가 링크를 클릭하면 목록 페이지에서 기사를 볼 수 있습니다. struts.xml에 정의 된대로 그리고 BoardView 클래스는

--list.jsp--
<a href="view_board?num=${num}"> ${ subject } </a>

--struts.xml--
<action name="View_board" class="board.BoardView">
<result type="tiles">board.view</result>
</action>

2) Action 클래스가 둘 것이다 호출됩니다 타이틀을 가치 스택으로 ... 맞습니까?

--BoardView 그 수업


public class BoardView extends ActionSupport 

    private String title; 

    public void Execute() throws Exception { 
     ... 
     setTitle(board.getSubject()); 
     return SUCCESS; 
    } 
    ... 
    (setter and getter of title) 

3) ActionClass 성공을 반환, 그것은 타일 정의라는 이름의 board.view로 이동합니다
--struts.xml--
<action name="View_board" class="board.BoardView">
<result type="tiles">board.view</result>
</action>

4) 다음은 tiles-def.xml과 문제입니다. 나는 'title'의 가치가 가치 스택에서 유출 될 수 없다고 생각한다.

== 타일 - def.xml의 ==
<definition name="board.view" extends="layout">
<put-attribute name="title" value="%title" />
<put-attribute name="body" value="/board/view.jsp" />
</definition>

(태그 ... 죄송와 내가 할 수없는 들여 쓰기) 여기 layout.jsp == layout.jsp ==의
... <title><tiles:getAsString name="title" /></title> ...

% {title}, $ title 및 $ {title}에 value 속성을 대체하려고했습니다. 그러나 놀랄만 한 일이 일어났습니다. 웹 브라우저는 문자열 자체를 보여줍니다 ($ title).

나는 무엇을해야할지 모르겠다. 제발 도와주세요.

나쁜 설명에도 불구하고 내 작품을 모두 이해하시기 바랍니다.

답변

2

현재 프로젝트에 대한 나의 해결책. 템플릿 JSP에서

  1. 는 : 모든 행동 클래스에서, 동적 제목에 변수 pageTitle를 만들어야합니다, 그래서
  2. <c:out value="${pageTitle}" default="My Title"></c:out>을 넣어.
+0

@Marko - 매 늦은 대답을 하나씩 upvote 할 경우 적어도 필요한 답변을 개선하십시오. 이 답변은 코드를 올바르게 표시하기 위해 서식을 지정해야했습니다. 그대로, 당신이 승인 한 대답은 말이되지 않습니다. – LittleBobbyTables