Как установить значение requestURI по классу действия в Struts2 или другой форме. Мне нужно изменить значение requestURI в соответствии с плиткой.
Таблица тегов dispalay передает значение в requestURI
Ответы (1)
Вариант 1. Передача значения из действия (лучший способ)
In 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;
}
В jsp
файле
<display:table id="u" name="userlist" pagesize="10" requestURI="${myActionName}" >
...
</display:table>
Если вы хотите передать свой собственный параметр в url
<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. Передача значения из плитки (не рекомендуется)
In tiles.xml
<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 dtd
, чтобы использовать cascade="true"
.
In welcome.jsp
<tiles:useAttribute name="myActionName" />
<display:table id="u" name="userlist" pagesize="10" requestURI="${myActionName}" >
...
</display:table>
person
prem30488
schedule
14.06.2014
Спасибо за хорошо объясненный ответ. Раньше я пробовал передать значение из метода действия с неправильным синтаксисом в jsp. Я использовал requestURI = # {myActionName} вместо requestURI = $ {myActionName}. Еще раз спасибо, что показали мне правильный синтаксис.
- person Dilis; 15.06.2014