2014-06-13 3 views

답변

1

옵션 1 : 액션 (더 나은 방법)에서 패스 값

에서 yourAction.java

private String myActionName; 
    public String execute() { 
     myActionName="action1.action"; 
     return SUCCESS; 
    } 
    public void setMyActionName(String myActionName) { 
     this.myActionName = myActionName; 
    } 

    public String getMyActionName() { 
     return myActionName; 
    } 

당신이 URL에 자신의 매개 변수를 전달하려면

<display:table id="u" name="userlist" pagesize="10" requestURI="${myActionName}" > 
    ... 
    </display:table> 

파일 jsp에서

<s:url action="%{myActionName}" var="requrl" > 
     <s:param name="myparam">myvalue1</s:param> 
    </s:url> 
    <display:table id="u" name="userlist" pagesize="10" requestURI="${requrl}" > 
    ... 
    </display:table> 

옵션 2 :를 사용하여 적절한 타일 버전과 tiles.xml dtdcascade="true"를 사용하는 : 타일에서 패스 값은

<definition name="baseLayout" template="/BaseLayout.jsp"> 
     <put-attribute name="title" value="" type="string" /> 
     <put-attribute name="header" value="/Header.jsp" /> 
     <put-attribute name="menu" value="/Menu.jsp" /> 
     <put-attribute name="body" value="" /> 
     <put-attribute name="footer" value="/Footer.jsp" /> 
     <put-attribute name="myattribute" value="" type="string" /> 
    </definition> 

    <definition name="/welcome.tiles" extends="baseLayout"> 
     <put-attribute name="title" value="Welcome" type="string" /> 
     <put-attribute name="body" value="/Welcome.jsp" /> 
     <put-attribute name="myActionName" cascade="true" value="tileAction1.action" /> 
    </definition> 

tiles.xml에서 참고 (이 권유되지 않음). 사람이 welcome.jsp

<tiles:useAttribute name="myActionName" /> 
    <display:table id="u" name="userlist" pagesize="10" requestURI="${myActionName}" > 
    ... 
    </display:table> 
+0

잘 설명 된 답변 주셔서 감사합니다. 나는 jsp.I에서 잘못된 구문을 사용하기 전에 action 메소드에서 Pass 값을 시도했지만 requestURI = "# {myActionName}"대신 requestURI = "$ {myActionName}"을 사용했습니다. 올바른 구문을 보여 주셔서 다시 한 번 감사드립니다. – Dilis