2016-03-05 49 views
0

我想在jsp中顯示預填充的表單。無法用html標籤預填充表單

TestAction.java

import com.opensymphony.xwork2.ActionSupport; 

public class TestAction extends ActionSupport { 

    private String firstName; 
    private String lastName; 

    public String execute(){ 

     setFirstName("John"); 
     setLastName("Doe"); 

     return SUCCESS; 
    } 

    /** Getters & Setters **/ 
} 

當我使用HTML標記,它沒有這樣做,

test.jsp的

<!DOCTYPE html> 
<html> 
<head></head> 
<body> 

    <form> 
    First Name <input type="text" name="firstName" > <br/> 
    Last Name <input type="text" name="lastName"> 
    </form> 

</body> 
</html> 

時,而不是我使用Struts2的標籤,它工作正常。

<s:form> 
    <s:textfield name="firstName"></s:textfield> 
    <s:textfield name="lastName"></s:textfield> 
</s:form> 

這可以使用非struts2標籤來實現嗎?

回答

1

您可以使用JSP EL

<form> 
    First Name <input type="text" name="firstName" value="${fn:escapeXml(firstName)}"><br/> 
    Last Name <input type="text" name="lastName" value="${fn:escapeXml(lastName)}"> 
</form> 

的值是字符串,所以更好地逃脫他們的安全。

如果這個jsp作爲操作的結果返回,則變量和標準範圍一起也搜索值棧。操作屬性應該可以從值棧中獲得。

+1

我用'value =「$ {firstName}」'而不是name屬性。日Thnx! – Desaretiuss