舉一個(gè)很簡(jiǎn)單的例子,用戶在登陸窗口中輸入用戶名和密碼,提交以后以xml的方式顯示你填寫(xiě)的內(nèi)容,
具體步驟如下:
1。配置web.xml文件
<servlet>
<servlet-name>login</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
2。配置login.xml文件
<bean id="viewResolver"
class="org.springframework.web.servlet.view.ResourceBundleViewResolver">
<property name="basename">
<value>views</value>
</property>
</bean>
<!--Request Mapping -->
<bean id="urlMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/login.htm">LoginAction</prop>
</props>
</property>
</bean>
<!---Action Definition-->
<bean id="LoginAction"
class="LoginAction">
<property name="commandClass">
<value>LoginInfo</value>
</property>
<property name="fail_view">
<value>loginfail</value>
</property>
<property name="success_view">
<value>main</value>
</property>
</bean>
3。定義控制類loginAction.java和commandClass-->LoginInfo.java
<---------------------LoginAction---------------------------->
public class LoginAction extends SimpleFormController {
protected ModelAndView onSubmit(Object cmd, BindException ex)
throws Exception {
LoginInfo loginInfo = (LoginInfo) cmd;
Map model = new HashMap();
List list = new ArrayList();
list.add(loginInfo);
model.put("loginInfos", list);
return new ModelAndView("login", model);
}
<---------------------LoginAction---------------------------->
<---------------------LoginInfo---------------------------->
public class LoginInfo {
private String username;
private String password;
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
<---------------------LoginInfo---------------------------->
4.定義自己的viewResolver--->LoginView
<---------------------LoginView---------------------------->
public class LoginView extends AbstractXsltView {
protected Node createDomNode(Map model, String rootName,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
Document doc = DocumentHelper.createDocument();
Element root = doc.addElement(rootName);
doc.setRootElement(root);
List loginInfos = (List) model.get("loginInfos");
for (Iterator it = loginInfos.iterator(); it.hasNext();) {
LoginInfo info = (LoginInfo) it.next();
Element a = root.addElement("loginInfo");
a.addElement("username").addText(info.getUsername());
a.addElement("password").addText(info.getPassword());
}
response.setContentType("text/xml");
return new DOMWriter().write(doc);
}
}
<---------------------LoginView---------------------------->
5.定義views.properties文件
login.class=LoginView
login.stylesheetLocation=/WEB-INF/xsl/loginInfo.xsl
login.root=loginInfos
6。定義loginInfo.xsl文件
<?xml version="1.0" encoding="GBK"?>
<xsl:stylesheet
7。定義index.html文件
<html>
<body>
<form method="POST" action="login.htm">
<p align="left">登錄</p>
<br>
用戶名:
<input type="text" name="username" >
<br>
密 碼 :
<input type="password" name="password" >
<br>
<p>
<input type="submit" value="提交" name="B1">
<input type="reset" value="重置" name="B2">
</p>
</form>
</body>
</html>
8。運(yùn)行tomcat 預(yù)覽:http://localhost:8080/xml/index.html
注:
views.properties放在classes文件夾。loginInfo.xsl放在/WEB-INF/xsl/文件夾。
index.html放在根目錄下,xml文件放在/WEB-INF/下,其他的.class文件放在/WEB-INF/classes/下
需要的dom4j-1.6.jar、spring.jar放到/WEB-INF/lib下。
做完這一切,你就可以在瀏覽器里面測(cè)試結(jié)果了~!~
聯(lián)系客服