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

类别:Java 点击:0 评论:0 推荐:
用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>

   

本文地址:http://com.8s8s.com/it/it12298.htm