用Jbuilder2005开发spring MVC应用-与表示层技术xslt集成

王朝java/jsp·作者佚名  2006-01-09
宽屏版  字体: |||超大  

用JBuilder2005开发spring MVC应用-与表示层技术xslt集成

高科华

作者简介:高科华,南京航空学院计算数学专业硕士,有十年以上的企业信息化工作经验。目前的研究兴趣,J2EE企业应用、ERP软件研发、数据仓库系统研发。

1. 按照“ 用JBuilder2005开发spring MVC应用”一文建立基本的spring应用

2. 增加JDOM、Dom4J类库

3. 源文件如下,详细解释请看spring参考文档

/src/xslt/HomePageController.java

package xslt;

import java.util.*;

import javax.servlet.http.*;

import org.apache.commons.logging.*;

import org.springframework.web.servlet.*;

import org.springframework.web.servlet.mvc.*;

public class HomePageController extends AbstractController {

/** Logger for this class and subclasses */

protected final Log logger = LogFactory.getLog(getClass());

public ModelAndView handleRequestInternal(

HttpServletRequest req,

HttpServletResponse resp) throws Exception {

/*

public ModelAndView handleRequest(HttpServletRequest request,

HttpServletResponse response) throws

ServletException, IOException {

*/

Map map = new HashMap();

List wordList = new ArrayList();

wordList.add("hello");

wordList.add("world");

map.put("wordList", wordList);

return new ModelAndView("home", map);

}

}

/src/xslt/HomePage.java

package xslt;

import java.util.*;

import javax.servlet.http.*;

import org.jdom.Element;

import org.jdom.output.*;

import org.springframework.web.servlet.view.xslt.*;

import org.w3c.dom.*;

// imports omitted for brevity

public class HomePage extends AbstractXsltView {

protected Node createDomNode(

Map model, String rootName, HttpServletRequest req,

HttpServletResponse res

) throws Exception {

org.jdom.Document doc = new org.jdom.Document();

Element root = new Element(rootName);

doc.setRootElement(root);

List words = (List) model.get("wordList");

for (Iterator it = words.iterator(); it.hasNext(); ) {

String nextWord = (String) it.next();

Element e = new Element("word");

e.setText(nextWord);

root.addContent(e);

}

// convert JDOM doc to a W3C Node and return

return new DOMOutputter().output(doc);

}

}

/web-inf/classes/views.properties

home.class=xslt.HomePage

home.stylesheetLocation=/WEB-INF/xsl/home.xslt

home.root=words

/web-inf/xsl/home.xslt

<?xml version="1.0"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method="html" omit-xml-declaration="yes"/>

<xsl:template match="/">

<html>

<head><title>Hello!</title></head>

<body>

<h1>My First Words</h1>

<xsl:for-each select="wordList/word">

<xsl:value-of select="."/><br />

</xsl:for-each>

</body>

</html>

</xsl:template>

</xsl:stylesheet>

/web-inf/springapp-servlet.xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<!--

- Application context definition for "springapp" DispatcherServlet.

-->

<beans>

<bean id="HomePageController" class="xslt.HomePageController"/>

<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">

<property name="mappings">

<props>

<prop key="/hello.htm">HomePageController</prop>

</props>

</property>

</bean>

<bean id="viewResolver" class="org.springframework.web.servlet.view.ResourceBundleViewResolver">

<property name="basename">

<value>views</value>

</property>

</bean>

</beans>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有