Использую struts2, первая страница, в которой вводятся данные: Код | <%@ taglib prefix="s" uri="/struts-tags"%> <html> <body> <s:form action="EnterValues" method="POST"> <s:textfield name="username" label="Username" /> <s:submit value="Enter"/> </s:form> </body> </html>
|
Action клас: Код | package org.potato.chapterSix; import com.opensymphony.xwork2.ActionSupport;
public class EnterValues extends ActionSupport { private String username; private String defaultValue;
public String getDefaultValue() { return defaultValue; }
public void setDefaultValue(String defaultValue) { this.defaultValue = defaultValue; }
public String getUsername() { return username; }
public void setUsername(String username) { this.username = username; }
public String execute() { setDefaultValue("Username is unknown"); return SUCCESS; }
}
|
Страница действия, которая отображает результат: Код | <%@ taglib prefix="s" uri="/struts-tags"%> <html> <body> <h3>Username is: <s:property value="usename" default="%{defaultValue}"/></h3> </body> </html>
|
В s:property, default принимает текстовое значение и нужно использовать escape sequence "%{expression}", чтоб получить defaultValue с Action класса(value равно "usename", чтоб struts2 получал свойство defaultValue с action класса). Но вместо того, чтоб OGNL работал, мы получаем такой результат: Код | Username is: %{defaultValue}
|
|