2016-03-05 4 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> 

Можно ли достичь этого, используя метки non 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

Смежные вопросы