網絡上關于Struts2方面資料不少,之所以再重復一些關于Struts2的知識,只是因為本人正在學習Struts2,而且在學習的途中也遇見了不少
的問題,由于沒有學過Struts2以前的版本,學習途中也是比較的痛苦,在此僅想記錄下我的學習歷程。
如果你對這個方面有深入研究,懇請你的指點;如果你也是初學者,希望這系列的博文對你有所幫助。
個人感覺autocompleter用處比較明顯,就是一個智能感知。更體現了struts2的靈活性。看實例:
autocompletertag.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<s:head theme="ajax" />
<body>
<s:autocompleter name="test" list="{'湖南','上海','北京','廣東'}"
autoComplete="false" />
<s:autocompleter list="provice" name="provice" />
</body>
</html>
在src目錄的com.kalman03.action包下建一個AutocompleterAction.java:
package com.kalman03.action;
import java.util.ArrayList;
import java.util.List;
import com.opensymphony.xwork2.ActionSupport;
/**
* @FileName AutocompleterAction.java
*
* @Author kalman03
*
*/
public class AutocompleterAction extends ActionSupport {
private List provice;
@Override
public String execute() throws Exception {
List arl = new ArrayList();
arl.add("湖南");
arl.add("湖北");
arl.add("上海");
arl.add("北京");
arl.add("天津");
arl.add("廣東");
this.setProvice(arl);
return SUCCESS;
}
public List getProvice() {
return this.provice;
}
public void setProvice(List provice) {
this.provice = provice;
}
}
在struts.xml內增加代碼:
<action name="autocompletertag" class="com.kalman03.action.AutocompleterAction">
<result>/autocompletertag.jsp</result>
</action>
OK,在瀏覽器輸入http://localhost:8080/myweb/autocompletertag.action,可以看到效果:



注意:<s:head theme="ajax" />我們在JSP里面增加一句這樣的話,關于struts2標簽的主題日后講解,這里順便提下,當theme為simple時,那么autocompleter標簽相當于HTML中的
ComboBox,當且theme為ajax時,list才能從action里面獲得動態的值。