Struts2 <s:textarea>文字域範例


在Struts2,你可以使用<s:textarea>建立HTML textarea文字域。為了比較直觀的學習,這裡建立一個web工程為:struts2textarea。整個工程的目錄結構如下:


<s:textarea label="Address" name="address" cols="40" rows="10"/>

它會呈現為如下面的HTML程式碼。

<textarea name="address" cols="40" rows="10" id="formaction_address"></textarea>

Struts 2 <s:textarea> 範例

頁面包含一個地址textarea欄位域,並顯示 textarea的值在表單提交後。

1. Action

TextAreaAction.java

package com.tw511.common.action;

import com.opensymphony.xwork2.ActionSupport;

public class TextAreaAction extends ActionSupport{

	private String address;

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public String execute() {
		return SUCCESS;
	}

}

2. 檢視頁面

Struts2的「s:textarea」標籤來建立一個textarea文字域欄位。

textarea.jsp

<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
</head>

<body>
<h1>Struts2 文字域範例</h1>

<s:form action="helloTextarea" namespace="/">

<h2>
  <s:textarea label="Address" name="address" cols="40" rows="10"/>
</h2> 

<s:submit value="submit" name="submit" />
	
</s:form>

</body>
</html>

welcome.jsp

<%@ taglib prefix="s" uri="/struts-tags" %>
<html>

<body>
<h1>Struts2文字域範例</h1>

<h2>
  <s:property value="address"/>
</h2> 

</body>
</html>

3. struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
 
<struts>

 <constant name="struts.devMode" value="true" />
 	
 <package name="" namespace="/" extends="struts-default">
	<action name="textarea">
	      <result>/pages/textarea.jsp</result>
	</action>
	<action name="helloTextarea" 
              class="com.tw511.common.action.TextAreaAction">
	      <result name="success">/pages/welcome.jsp</result>
	</action>
  </package>
	
</struts>

4. 執行結果

http://localhost:8080/struts2textarea/textarea.action


參考

  1. Struts 2 textarea文件