当前位置:首页>>开发编程>>JAVA>>新闻内容
利用JBuilder 2005 开发Spring实例
作者:喻赣辉 发布时间:2004-11-16 8:29:18 文章来源:CSDN

  16. 增加商业逻辑类

  为了分开Web逻辑和商业逻辑,我们建立两个不同的包,web和bus

  springapp/src/bus/Product.java

package bus;

import java.io.Serializable;

public class Product implements Serializable {

 private String description;
 private Double price;

 public void setDescription(String s) {
  description = s;
 }

 public String getDescription() {
  return description;
 }

 public void setPrice(Double d) {
  price = d;
 }

 public Double getPrice() {
  return price;
 }

}


  springapp/src/bus/ProductManager.java

package bus;

import java.io.Serializable;
import java.util.List;

public class ProductManager implements Serializable {

 private List products;
 public void setProducts(List p) {
  products = p;
 }

 public List getProducts() {
  return products;
 }

}


  修改SpringappController.java

  springapp/src/web/SpringappController.java

package web;

import org.springframework.web.servlet.mvc.Controller;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import java.io.IOException;
import java.util.Map;
import java.util.HashMap;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import bus.Product;
import bus.ProductManager;

public class SpringappController implements Controller {

 /** Logger for this class and subclasses */
 protected final Log logger = LogFactory.getLog(getClass());

 private ProductManager prodMan;

 public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)
 throws ServletException, IOException {

  String now = (new java.util.Date()).toString();
  logger.info("returning hello view with " + now);

  Map myModel = new HashMap();
  myModel.put("now", now);
  myModel.put("products", getProductManager().getProducts());

  return new ModelAndView("hello", "model", myModel);
 }

 public void setProductManager(ProductManager pm) {
  prodMan = pm;
 }

 public ProductManager getProductManager() {
  return prodMan;
 }
}


  17. 修改View以便显示商业数据,增加对message bundle的支持

  springapp/war/WEB-INF/jsp/hello.jsp

<%@ include file="/WEB-INF/jsp/include.jsp" %>

<html>
<head><title><fmt:message key="title"/></title></head>
<body>
<h1><fmt:message key="heading"/></h1>
<p><fmt:message key="greeting"/> <c:out value="${model.now}"/>
</p>
<h3>Products</h3>
<c:forEach items="${model.products}" var="prod">
<c:out value="${prod.description}"/> <i>$<c:out value="${prod.price}"/></i><br><br>
</c:forEach>
</body>
</html>


  18. 增加一些测试数据

  我们现在还不打算增加代码,从数据库装载商业对象。我们只springapp-servlet.xml中增加bean和messageSource设置,提供一些测试数据和对messages resource bundle的支持。

  springapp/war/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="springappController" class="web.SpringappController">
 <property name="productManager">
  <ref bean="prodMan"/>
 </property>
</bean>

<bean id="prodMan" class="bus.ProductManager">
<property name="products">
 <list>
  <ref bean="product1"/>
  <ref bean="product2"/>
  <ref bean="product3"/>
 </list>
</property>
</bean>

<bean id="product1" class="bus.Product">
 <property name="description"><value>Lamp</value></property>
 <property name="price"><value>5.75</value></property>
</bean>

<bean id="product2" class="bus.Product">
  <property name="description"><value>Table</value></property>
  <property name="price"><value>75.25</value></property>
</bean>

<bean id="product3" class="bus.Product">
 <property name="description"><value>Chair</value></property>
 <property name="price"><value>22.79</value></property>
</bean>

<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename"><value>messages</value></property>
</bean>

<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/hello.htm">springappController</prop>
</props>
</property>
</bean>

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass"><value>org.springframework.web.servlet.view.JstlView</value></property>
<property name="prefix"><value>/WEB-INF/jsp/</value></property>
<property name="suffix"><value>.jsp</value></property>
</bean>
</beans>



[首页]    [上一页]    [下一页]    [末页]    

最新更新
·MyEclipse 6.0的破解方法(附
·Java图片缩小后不失真的代码
·Java开发技术十年的回顾与展
·关于TOMCAT主目录与虚拟目录
·用java程序调用ffmpeg执行视
·JavaBean与Enterprise JavaB
·Java开发人员的十大戒律
·JavaFX Script将终结AJAX?还
·解决IE中所有png图片透明问题
·JSP解决地址栏中传递中文字符
相关信息
·利用JBuilder2005开发Web应用程序
·解决JBuilder在中文系统中光标错位的问题
·[图]用JBuilder9 开发Struts实例
·[图]如何让JBuilder9支持Struts 1.1
·Jboss3.0.7在Jbuilder7中的配置
画心
愚爱
偏爱
火苗
白狐
画沙
犯错
歌曲
传奇
稻香
小酒窝
狮子座
小情歌
全是爱
棉花糖
海豚音
我相信
甩葱歌
这叫爱
shero
走天涯
琉璃月
Nobody
我爱他
套马杆
爱是你我
最后一次
少女时代
灰色头像
断桥残雪
美了美了
狼的诱惑
我很快乐
星月神话
心痛2009
爱丫爱丫
半城烟沙
旗开得胜
郎的诱惑
爱情买卖
2010等你来
我叫小沈阳
i miss you
姑娘我爱你
我们都一样
其实很寂寞
我爱雨夜花
变心的玫瑰
犀利哥之歌
你是我的眼
你是我的OK绷
贝多芬的悲伤
哥只是个传说
丢了幸福的猪
找个人来爱我
要嫁就嫁灰太狼
如果这就是爱情
我们没有在一起
寂寞在唱什么歌
斯琴高丽的伤心
别在我离开之前离开
不是因为寂寞才想你
爱上你等于爱上了错
在心里从此永远有个你
一个人的寂寞两个人的错