`
Inmethetiger
  • 浏览: 108725 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
收藏列表
标题 标签 来源
table样式显示
<table border="1" width="800">
			<thead>
				<tr class="col-name">
					<th></th>
					<th class="baobei">宝贝</th>
					<th class="price">单价(元)</th>
					<th class="quantity">数量</th>
					<th class="after-service">售后</th>
					<th class="amount">实付款(元)</th>
					<th class="trade-status">
						<div class="trade-status">
							<select id="J_TradeStatusHandle">
								<option value="ALL">交易状态</option>
								<option value="NOT_PAID">等待买家付款</option>
								<option value="PAID">买家已付款</option>
								<option value="SEND">卖家已发货</option>
								<option value="SUCCESS">交易成功</option>
								<option value="DROP">交易关闭</option>
								<option value="REFUNDING">退款中的订单</option>
							</select>
						</div>
					</th>
					<th class="remark">交易操作</th>
					<th class="other">其它操作</th>
				</tr>
			</thead>
			<c:out value="${fn:length(orderList)}"></c:out>
			<c:forEach items="${orderList}" var="orderInfo">
				<tbody>
					<tr>
						<td colspan="9"><span>订单编号:</span><span>${orderInfo.orderId}</span>
							<span>成交时间</span><span>${orderInfo.createOrderDate}</span><span>店铺名称</span>
							<span></span></td>
					</tr>

					<!-- 林产品信息 -->
					<c:forEach items="${orderInfo.orderItemInfos}" var="orderItemInfo"
						varStatus="vstatus">
						<c:out value="${vstatus.index}"></c:out>
						<tr>
							<!-- 林产品 -->
							<td colspan="2">${ orderItemInfo.productTitle}</td>
							<!-- 单价 -->
							<td>${orderItemInfo.productPrice}</td>
							<!-- 数量 -->
							<td>${orderItemInfo.productQuantity}</td>
							<!-- 售后 -->
							<td>售后</td>
							<!-- 这里只运行一次 -->
							<c:if test="${vstatus.index ==0}">
								<td rowspan="${fn:length(orderInfo.orderItemInfos)}">${orderInfo.price
									}</td>
								<td rowspan="${fn:length(orderInfo.orderItemInfos)}">${orderInfo.tradeStatusName}</td>
								<td rowspan="${fn:length(orderInfo.orderItemInfos)}">交易操作</td>
								<td rowspan="${fn:length(orderInfo.orderItemInfos)}">其他操作</td>
								<!-- 这里只运行一次 -->
							</c:if>
						</tr>
					</c:forEach>
					<!-- 从这里得合并-->
				</tbody>
			</c:forEach>
			<tfoot></tfoot>
		</table>
applicationContext.xml详细配置 spring
<?xml version="1.0" encoding="UTF-8"?>  
<beans xmlns="http://www.springframework.org/schema/beans"  
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">  
  
<!--Spring 定义本地资源文件   
<bean id="propertyConfigure"  
  class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
  <property name="locations">  
   <list>  
    <value>  
     classpath:resource/properties/*.properties  
    </value>  
   </list>  
  </property>  
</bean>  
-->  
  
 <!--Spring 定义 JNDI 连接池  
<bean id="dataSource"  
  class="org.springframework.jndi.JndiObjectFactoryBean"  
  destroy-method="close">  
  <property name="jndiName">-->  
   <!-- tomcat  -->  
   <!-- <value>java:comp/env/jcptDataSourceJNDI</value>-->  
   <!-- apusic -->  
   <!--<value>jcptDataSourceJNDI</value>-->  
   <!-- jboss -->  
   <!--<value>java:/jcptDataSourceJNDI</value>-->  
  <!-- </property>  
 </bean>  
 -->  
  
<!--Spring 定义 proxool连接池  
<bean id="JDBCDataSource" class="org.logicalcobwebs.proxool.ProxoolDataSource" destroy-method="close">  
    <property name="driver" value="oracle.jdbc.driver.OracleDriver" />  
    <property name="driverUrl" value="jdbc:oracle:thin:szpf/szpf@192.168.0.2:1521:orcl" />  
    <property name="user" value="szpf" />  
    <property name="password" value="szpf" />  
    <property name="alias" value="test" />  
    <property name="minimumConnectionCount" value="10" />  
    <property name="maximumConnectionCount" value="20" />  
    <property name="prototypeCount" value="10" />  
    <property name="houseKeepingSleepTime" value="30000" />  
    <property name="trace" value="true" />  
    <property name="verbose" value="true" />  
</bean>  
-->  
<!--Spring 定义 C3p0 连接池  
<bean id="JDBCDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">  
    <property name="driverClass" value="oracle.jdbc.driver.OracleDriver" />  
    <property name="jdbcUrl" value="jdbc:oracle:thin:@192.168.0.2:1521:orcl" />  
    <property name="user" value="szpf" />  
    <property name="password" value="szpf" />  
    <property name="minPoolSize" value="10" />  
    <property name="maxPoolSize" value="20" />  
    <property name="maxIdleTime" value="60" />  
    <property name="acquireIncrement" value="2" />  
    <property name="maxStatements" value="0" />  
    <property name="initialPoolSize" value="2" />  
    <property name="idleConnectionTestPeriod" value="60" />  
    <property name="acquireRetryAttempts" value="10" />  
    <property name="breakAfterAcquireFailure" value="true" />  
    <property name="testConnectionOnCheckout" value="false" />  
</bean>  
-->  
  
<!-- Spring 自带的连接池 -->  
<bean id="JDBCDataSource" class="org.apache.commons.dbcp.BasicDataSource">  
    <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />  
    <property name="url" value="jdbc:oracle:thin:@192.168.0.2:1521:orcl" />  
    <property name="username" value="szpf" />  
    <property name="password" value="szpf" />  
    <property name="maxActive" value="100" />  
    <property name="maxIdle" value="30" />  
    <property name="minIdle" value="10" />  
    <property name="maxWait" value="1000" />  
</bean>  
  
<!-- 配置SessionFactory -->  
<bean id="SessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
<!--  如果使用Hibernate3的注释POJO则使用此:class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean" -->  
    <property name="dataSource">  
        <ref bean="JDBCDataSource" />  
    </property>  
    <property name="hibernateProperties">  
        <props>  
            <prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop>  
            <prop key="hibernate.show_sql">true</prop>  
            <prop key="hibernate.format_sql">true</prop>  
            <prop key="hibernate.max_fetch_depth">1</prop>        
            <prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>  
            <prop key="hibernate.cache.use_query_cache">true</prop>  
            <prop key="hibernate.jdbc.batch_size">50</prop>   
        </props>  
    </property>  
    <!-- Hibernate2 的hbm.xml方式配置POJO -->  
    <property name="mappingResources">  
        <list>  
            <value>com/pufang/system/model/SysUser.hbm.xml</value>  
            <value>com/pufang/system/model/System.hbm.xml</value>  
            <!--  注意这个是:通用写法  
            <value>classpath*:/com/pufang/manager/**/po/*.hbm.xml</value>  
            <value>classpath*:/com/pufang_pt/**/model/*.hbm.xml</value>  
            -->  
        </list>  
    </property>  
    <!-- Hibernate3 注释方式的POJO 直接指定java类 -->  
    <property name="annotatedClasses">  
        <list>  
           <!--  
            <value>com.pufang.model.XXXX</value>  
            <value>com.pufang.model.XXXX</value>  
            -->  
        </list>  
    </property>   
    <!-- Hibernate3 注释方式的POJO  直接指定包路径  
    <property name="packagesToScan" value="com.**.model"/> //通用包路径写法  
    <property name="packagesToScan"> //清单方式指定包路径  
        <list>  
            <value>com.pufang.base.model</value>  
            <value>com.pufang.system.model</value>  
        </list>  
    </property>  
   -->   
</bean>  
 <!-- 定义事务管理类 -->  
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">  
    <property name="sessionFactory" ref="SessionFactory" />  
</bean>  
  
 <!-- 事务处理的AOP配置 所有服务层bean声明都要继承此bean-->  
<bean id="TransactionProxyTemplate" abstract="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">  
    <property name="transactionManager" ref="transactionManager" />  
    <property name="transactionAttributes">  
        <props>  
           <!-- 为了保证服务层统一的事务处理。服务层接口,类的方法必须以下面的方法为开口  -->  
           <!--  
                 spring 捕获到RuntimeException和其他一些异常时才会回滚,不是所有异常都会回滚,-Exception 设置  
                 为任何异常都回滚 ZOUWEI  
            -->  
            <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>  
            <prop key="load*">PROPAGATION_REQUIRED,readOnly</prop>  
            <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>  
            <prop key="query*">PROPAGATION_REQUIRED,readOnly</prop>  
            <prop key="save*">PROPAGATION_REQUIRED</prop>  
            <prop key="add*">PROPAGATION_REQUIRED</prop>  
            <prop key="up*">PROPAGATION_REQUIRED</prop>  
            <prop key="mod*">PROPAGATION_REQUIRED</prop>  
            <prop key="delete*">PROPAGATION_REQUIRED</prop>  
            <prop key="remove*">PROPAGATION_REQUIRED</prop>  
            <prop key="deploy*">PROPAGATION_REQUIRED</prop>  
            <prop key="insert*">PROPAGATION_REQUIRED</prop>  
            <prop key="submit*">PROPAGATION_REQUIRED</prop>  
            <prop key="goback">PROPAGATION_REQUIRED</prop>  
        </props>  
    </property>  
</bean>  
</beans> 
applicationContext.xml spring
<?xml version="1.0" encoding="UTF-8"?>
<beans
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:context="http://www.springframework.org/schema/context"  
	xmlns:mvc="http://www.springframework.org/schema/mvc"  
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
	http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
	http://www.springframework.org/schema/tx 
	http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
	http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-3.0.xsd
	http://www.springframework.org/schema/mvc
    http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
    

    <!-- 自动扫描包,可以写多个 -->
    <context:component-scan base-package="com.xxx,com.xxx.session,com.xxx.xxx" ></context:component-scan>
    
    <!-- 多视图处理器 -->
    <bean class="com.xxx.core.web.MixedViewResolver">
		<property name="resolvers">
			<map>
				<entry key="jsp">
					<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
						<property name="prefix" value="/WEB-INF/jsp/"/>
						<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
					</bean>
				</entry>
				<entry key="ftl">
					<bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
						<property name="cache" value="true"/>
						<property name="contentType" value="text/html;charset=UTF-8"></property>
						<!-- 宏命令的支持  -->  
						<property name="exposeSpringMacroHelpers" value="true"/>
						<property name="viewClass" value="org.springframework.web.servlet.view.freemarker.FreeMarkerView"/>
						<property name="requestContextAttribute" value="rc"></property>
					</bean>
				</entry>
			</map>
		</property>
	</bean>
	
	<!-- freemarker config -->
    <bean id="freeMarkerConfigurer" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> 
        <property name="templateLoaderPath" value="/WEB-INF/ftl/" /> 
        <property name="freemarkerSettings"> 
            <props> 
                <prop key="template_update_delay">5</prop> 
                <prop key="default_encoding">UTF-8</prop> 
                <prop key="locale">zh_CN</prop> 
            </props> 
        </property> 
    </bean> 
    
    <!-- 日志拦截器-->
    <bean id="logNDCInteceptor" class="com.xxx.core.web.LogNDCInteceptor"/>
    
    <!-- 权限拦截器-->
    <bean id="myPermissionsInteceptor" class="com.xxx.userplatform.mvc.MyPermissionsInteceptor"></bean>
    
    <!-- RequestHelper拦截器-->
    <bean id="myRequestHelperInteceptor" class="com.xxx.core.web.MyRequestHelperInteceptor"></bean>
    
    <!-- 用户信息拦截器-->
    <bean id="myUserInfoInteceptor" class="com.xxx.userplatform.mvc.MyUserInfoInteceptor"></bean>
    
    <!-- 注解请求映射  -->
    <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">        
		<property name="interceptors">
		    <list>  
		    	<ref bean="logNDCInteceptor"/>   <!-- 日志拦截器 -->
		    	<ref bean="myRequestHelperInteceptor"/>   <!-- RequestHelper拦截器--> 
		    	<ref bean="myPermissionsInteceptor"/>  <!-- 权限拦截器--> 
		    	<ref bean="myUserInfoInteceptor"/>  <!-- 用户信息拦截器--> 
		    </list>        
		</property>        
	</bean>  	
	<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
		<property name="messageConverters">  
			<list>  
				<ref bean="byteArray_hmc" />  
				<ref bean="string_hmc" />  
				<ref bean="resource_hmc" />  
				<ref bean="source_hmc" />  
				<ref bean="xmlAwareForm_hmc" />  
				<ref bean="jaxb2RootElement_hmc" />  
				<ref bean="jackson_hmc" />  
			</list>  
		</property>  
	</bean>  
	<bean id="byteArray_hmc" class="org.springframework.http.converter.ByteArrayHttpMessageConverter" /><!-- 处理.. -->
	<bean id="string_hmc" class="org.springframework.http.converter.StringHttpMessageConverter" /><!-- 处理.. -->
	<bean id="resource_hmc" class="org.springframework.http.converter.ResourceHttpMessageConverter" /><!-- 处理.. -->
	<bean id="source_hmc" class="org.springframework.http.converter.xml.SourceHttpMessageConverter" /><!-- 处理.. -->
	<bean id="xmlAwareForm_hmc" class="org.springframework.http.converter.xml.XmlAwareFormHttpMessageConverter" /><!-- 处理.. -->
	<bean id="jaxb2RootElement_hmc" class="org.springframework.http.converter.xml.Jaxb2RootElementHttpMessageConverter" /><!-- 处理.. -->
	<bean id="jackson_hmc" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" /><!-- 处理json-->
	
	
	<!-- 总错误处理-->
	<bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
		
		<property name="exceptionMappings"> 
			<props> 
			<!-- 上传文件大于最大尺寸后转向出错页面 --> 
				<prop key="org.springframework.web.multipart.MaxUploadSizeExceededException"> 
					redirect:/uploadError.jsp
				</prop> 
			</props> 
		</property> 
		<property name="defaultErrorView">  
		 	<value>forward:/error.jsp</value>
		</property>
		<property name="defaultStatusCode">  
		 	<value>200</value>
		</property>		 	
		<property name="warnLogCategory">  
		 	<value>org.springframework.web.servlet.handler.SimpleMappingExceptionResolver</value>
		</property>		 	
		
	</bean> 
	
	<!-- 允许对静态资源文件的访问 --> 
	<mvc:default-servlet-handler/>

	<!-- 数据源 ,DBCP连接池-->
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
		<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
		<property name="url" value="jdbc:oracle:thin:@192.168.3.141:1521:xxx"/>
		<property name="username" value="xxxdb"/>
		<property name="password" value="xxxdb"/>
		<property name="initialSize" value="2"/>
		<property name="maxActive" value="10"/>
		<property name="maxIdle" value="10"/>
		<property name="maxWait" value="1000"/>
		<property name="poolPreparedStatements" value="true"/>
	</bean>
	
	<!-- JNDI数据源
	<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
		<property name="jndiName">
			<value>jdbc/xxx</value>
		</property>
	</bean>
	-->
	
	<!-- JDBC模板 -->
	<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate" >
		<property name="dataSource" ref="dataSource" />
	</bean>
	<!-- 事务管理器 -->
	<bean id="transactionManager"
		class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource" />
	</bean>
	<!-- 用注解来实现事务管理 -->
	<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/>
	
    <!-- 用于持有ApplicationContext,可以使用SpringContextHolder.getBean('xxxx')的静态方法得到spring bean对象 -->  
    <bean class="com.xxxxx.SpringContextHolder" lazy-init="false" />  
	
</beans>
配置spring的web.xml spring
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"    id="WebApp_ID" version="3.0">
    <display-name>spring_mvc_1</display-name>
    <!-- The front controller of this Spring Web application, responsible for         handling all application requests -->
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <!-- Map all requests to the DispatcherServlet for handling -->
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>

    <!-- Bootstraps the root web application context before servlet initialization -->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

    <!-- Reads request input using UTF-8 encoding -->
    <filter>
        <filter-name>characterEncodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>

    <filter-mapping>
        <filter-name>characterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping></web-app>
log4j.xml log4j
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//LOGGER" "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

	<!-- Appenders -->
	<appender name="console" class="org.apache.log4j.ConsoleAppender">
		<param name="Target" value="System.out" />
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="%-5p: %c - %m%n" />
		</layout>
	</appender>

	<!-- 3rdparty Loggers -->
	<logger name="org.springframework.core">
		<level value="info" />
	</logger>

	<logger name="org.springframework.beans">
		<level value="info" />
	</logger>

	<logger name="org.springframework.context">
		<level value="info" />
	</logger>

	<logger name="org.springframework.web">
		<level value="info" />
	</logger>

	<!-- Root Logger -->
	<root>
		<priority value="warn" />
		<appender-ref ref="console" />
	</root>

</log4j:configuration>
一个简单的Maven Web方面的pom文件 jetty插件。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.sonatype.mavenbook.ch05</groupId>
  <artifactId>simple-webapp</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <name>simple</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
	<!-- Servlet -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
			<version>2.5</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>javax.servlet.jsp</groupId>
			<artifactId>jsp-api</artifactId>
			<version>2.1</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jstl</artifactId>
			<version>1.2</version>
		</dependency>
  </dependencies>
  <build>
     <finalName>simple-webapp</finalName>
	  <plugins>
   <plugin>
				<groupId>org.mortbay.jetty</groupId>
				<artifactId>jetty-maven-plugin</artifactId>
				<version>7.1.0.RC1</version>
				<configuration>
					<scanIntervalSeconds>10</scanIntervalSeconds>
					<webAppConfig>
						<contextPath>/webapp</contextPath>
					</webAppConfig>
				</configuration>
			</plugin>
		</plugins>
 </build>

</project>
Global site tag (gtag.js) - Google Analytics