`
gazeldx
  • 浏览: 105970 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

我也开源啦!freemarker+struts2+Spring+Hibernate的JavaEE项目,大家来围观

阅读更多

 

我也开源啦!freemarker+struts2+Spring+Hibernate的项目,还用到了extjs,JQuery,Ajax用JSON。大家来围观,源代码在:

https://github.com/gazeldx/javaee-ssh-freemarker

 

我是在jeecms的架构基础上进行了一系列的封装,使得代码量少了很多。

jquery架构与freemarker整合,所有的验证都不需要特别写js,只要写vld="required:true,dateISO:true。。。。"这样就可以了。

实现一个增删改查全功能,代码如下:

先看view部分代码:

效果图:

列表

 列表 list.ftl

<@p.list_top><#include "/c/stock/search_simple.ftl"><#include "searchAdv.ftl"></@p.list_top>
<@p.table operateType=1 cols=[
	{"name":"billid","label":"_mar_billid","type":"preview"}
    {"name":"billdate","label":"_mar_billdate"}
    {"name":"billstate","label":"_billstate"}
    {"name":"operator2.name","label":"_operator"}
    {"name":"checker2.name","label":"_checker"}
    {"name":"memo","label":"_memo"}]
/>
<@p.extSelectGoods/>
<#include "/c/list_bottom.ftl">

 

 列表中包含了高级检索 advSearch.ftl

 

<@s.set name="_billid" value="%{getText('_mar_billid')}"/>
<#include "/c/global/stock.ftl">
<@p.searchAdvHead/>
<#include "/c/stock/search_head.ftl">
<tr><td>${_goods_shortname}</td><td><@p.text name="queryGoodsName" id='queryGoodsName' value="" size="14" title="${_please_select_goods_to_active}"/><@p.hidden id="queryGdsid" name="queryGdsid"/></td>
<td colspan="2">&nbsp;</td>
<@p.tr/>
<td colspan="2">${_billid}<@p.text name="queryBillid" value="${queryBillid!}" size="10" title="${_whole_word_match_ignore_others}"/></td>
<td colspan="2">${_memo}<@p.text name="queryMemo" value="${queryMemo!}" size="10"/></td></tr>
<#include "/c/stock/oper_checker.ftl">
<@p.searchAdvFoot/>
 

新增 add.ftl:

<#global type="add">
<#include "head.ftl">
<@p.form>
<@p.add_ss/>
<@p.text label="_mar_billdate" name="billdate"/>
<@p.textarea label="_memo" name="bean.memo" vld="stringMaxLength:200"/>
<@p.tr/>
<#include "/c/s-end.ftl">
</@p.form>

效果图:

 head.ftl

 

<#global _billid="_mar_billid">
<#global cols=[
	{"name":"code","label":"_goods_code"}
	{"name":"name","label":"_goods_name"}
	{"name":"units","label":"_goods_havecount"}]
>
<#include "/c/s-head.ftl">

 

新增中有用extjs处理明细物料的 ext.ftl

 

预览 view.ftl

 

<@p.viewTop/>
<@p.viewTable>
<@p.view_ss label="_mar_billid"/>
<@p.td label="_mar_billdate" content="bean.billdate"/>
<@p.td label="_memo" content="bean.memo"/>
<@p.tr/>
</@p.viewTable>
<@p.tableExtSimple/>
<@p.extView cols=[
	{"name":"code","label":"_goods_code"}
	{"name":"name","label":"_goods_name"}
	{"name":"units","label":"_goods_havecount"}]
/>
<#include "/c/view_bottom.ftl">

 

再看Action等类

 

package com.atech.stock.action;

@SuppressWarnings("serial")
@Scope("prototype")
@Controller("stock.marAct")
public class MarAct extends StockCoreAction {

	/**
	 * 查询列表	
	 */
	public String list() {
		initQuery();//..一些业务初始化工作
		this.pagination = stockMng.querySimple(queryFdate, queryBillstate, DBConstants.Stock_Siotypeid_Mar, pageParams);
		return LIST;
	}

	/**
	 * 高级检索
	 * @return
	 */
	public String queryAdvance() {
		initQuery();
		this.pagination = stockMng.queryAdvanceMar(queryFdate, queryBillstate, queryStartDate, queryEndDate, queryMemo, queryBillid, queryGdsid, queryOperatorid, queryCheckerid, pageParams);
		return LIST;
	}

	
	void initQuery() {
		//..一些初始化工作
	}

}

 

 你会问:保存、修改、删除的业务逻辑在哪里?答案是:全部封装好到父类了,不用写啦

struts.xml引入的xml代码

 

<package name="stock.mar" namespace="/admin/stock/mar" extends="core-default">
		<action name="Com_*" method="{1}" class="stock.marAct">
			<result name="list">/WEB-INF/stock_sys/mar/list.ftl</result>
			<result name="add">/WEB-INF/stock_sys/mar/add.ftl</result>
			<result name="edit">/WEB-INF/stock_sys/mar/edit.ftl</result>
			<result name="view">/WEB-INF/stock_sys/mar/view.ftl</result>
		</action>
	</package>
 

剩下的就是hibernate的hbm和实体类代码了,比较简单,故略去。

再不需要其他代码了。

效果图片见附件

 

 

 

  • 大小: 397.3 KB
  • 大小: 159.6 KB
  • 大小: 315.4 KB
3
1
分享到:
评论
8 楼 klsmwz 2011-12-05  
顶~~~ 非常好 要是有数据库文件那就更完美了 希望早点出来
7 楼 gazeldx 2011-10-19  
hellojinjie 写道

这是在其父类定义的一个方法,用于返回到列表,即xml中定义为"list"的view,并且提示消息,如“新增成功”
6 楼 KimHo 2011-10-18  
很好,封装得不错
5 楼 hellojinjie 2011-10-18  
4 楼 gazeldx 2011-10-18  
skycity220 写道
有数据库文件没?

数据库暂时还没有放上来,根据代码阅读应该也能搭起来,等空了,我会考虑把涉及到登录的地方都去掉,直接就能显示出来。
3 楼 gazeldx 2011-10-18  
cheney_love 写道
用别人的东西,总是感觉很麻烦

好好阅读一下我的代码,相信会有收获哦
2 楼 skycity220 2011-10-18  
有数据库文件没?
1 楼 wang_jie1 2011-10-18  
什么

相关推荐

    j2ee:Struts2-Hibernate-Spring

    Struts2、Hibernate和Spring是Java企业级应用开发中的三个重要框架,它们共同构成了所谓的SSH(Struts2、Spring、Hibernate)集成开发环境。在JavaEE(以前称为J2EE)领域,SSH框架的组合被广泛用于构建高效、可维护...

    Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解

    对于Struts2.1.6,除了其核心jar包如commons-logging、freemarker、ognl、struts2-core、xwork之外,还需要commons-fileupload和struts2-convention-plugin、struts2-spring-plugin等插件来支持全注解式开发。Spring...

    sturts2+hibernate+spring 帮助文档

    Struts2、Hibernate和Spring是Java企业级开发中三大核心框架,它们的组合常被称为SSH框架,用于构建高效、灵活的Web应用程序。本帮助文档旨在详细介绍这三个框架的主要功能、使用方法以及如何将它们集成在一起。 **...

    泰牛程序员 韩顺平 JavaEE全套 第15部分 Struts2基础入门

    1. **系统全面**:涵盖了JavaEE的核心技术栈,如Servlet、JSP、Hibernate、Spring、Struts2等。 2. **实战性强**:通过具体的项目案例进行讲解,让学习者能够在实践中掌握技术要点。 3. **注重基础知识**:在讲解...

    Struts2 2.3.34jar

    Struts2是一个基于MVC(Model-View-Controller)设计模式的开源JavaEE框架,它主要用来构建企业级Web应用程序。2.3.34是Struts2的一个具体版本号,这个版本的发布通常是为了修复已知的安全漏洞、增强功能或者优化...

    兄弟连_佟刚_StrutsHibernate

    Struts和Hibernate是JavaEE开发中的两个重要框架,它们分别专注于Web层和持久化层的管理。在这篇详细的解析中,我们将深入探讨这两个框架的核心概念、功能以及它们在实际项目中的应用。 首先,Struts是一个基于MVC...

    轻量级javaEE笔记

    本笔记将主要涵盖以下几个核心轻量级框架:JSP、Servlet、Struts、Struts2、Spring和Hibernate。 1. **JSP(JavaServer Pages)与Servlet** JSP是JavaEE中的视图层技术,用于生成动态网页内容。它结合了HTML和Java...

    struts2包&lt;jar&gt;

    Struts2是一个基于MVC(Model-View-Controller)设计模式的开源JavaEE框架,用于构建企业级Web应用程序。它的核心是Action类,用于处理用户的请求,并与模型进行交互,进而控制视图的呈现。Struts2框架的目标是提供...

    精通JavaEE项目案例基于EclipseSpringStrutsHibernate(光盘6)

    “精通JavaEE项目案例基于EclipseSpringStrutsHibernate(光盘6)”是一个针对Java企业级应用开发的学习资料,重点在于讲解如何利用Eclipse集成开发环境,结合Spring、Struts和Hibernate这三大开源框架来构建高效、可...

    2.1Struts2简介.docx

    Struts2是一个基于MVC(Model-View-Controller)设计模式的开源JavaEE框架,它致力于简化企业级Web应用程序的开发。MVC模式是一种将业务逻辑、数据和用户界面分离的设计理念,使得开发者能够独立地处理各个部分,...

    struts2 实战 实例代码

    Struts2是一个基于MVC(Model-View-Controller)设计模式的开源JavaEE框架,它在Web应用开发中被广泛使用,特别是在企业级应用中。Struts2是Apache软件基金会的项目,它整合了WebWork的核心特性,为开发者提供了一种...

    J2CMS内容管理系统

    采用Spring2.5 + Struts2.1 + JPA1.0(Hibernate3.3)+FreeMarker + MySQL开发. J2CMS内容管理系统开发环境: eclipse-jee-juno-SR1-win32-x86_64 JDK 1.6 Apache tomcat 7.0 MySQL 5.5 系统依赖的其它jar包版本可以在...

    javaEE SSH框架之Struts 实例

    JavaEE SSH框架是企业级Java应用开发中的常见组合,它由Spring、Hibernate和Struts三个开源框架集成。在这个实例中,我们将重点讨论Struts,一个用于构建基于Java Web的应用程序的强大MVC(Model-View-Controller)...

    J2CMS内容管理系统 SSH 20140806

    采用Spring2.5 + Struts2.1 + JPA1.0(Hibernate3.3)+FreeMarker + MySQL开发.J2CMS内容管理系统开发环境导入Eclipse:1.先建一个名为J2CMS-SSH的工程2.将src和WebContent目录内容分别拷到工程中对应的目录3.j2cms-...

    Javaee三大框架课程设计

    JavaEE三大框架,即Struts2、Spring和Hibernate,是Java企业级开发中的核心组件,广泛应用于构建高效、可维护的Web应用。本课程设计旨在深入理解和熟练掌握这三大框架的集成与应用。 首先,Struts2是MVC(Model-...

    Struts2_API(API文档)

    6. **Struts2插件**:Struts2有丰富的插件支持,如Tiles、Freemarker、JSP标签库等,用于增强视图渲染能力,或者集成其他框架,如Hibernate、Spring等。 7. **ActionContext**:封装了当前请求的所有上下文信息,...

    论坛系统 javaEE开发的 ssh2 简单的论坛项目

    【标题】:“论坛系统 javaEE开发的 ssh2 简单的论坛项目”是指使用Java企业版(JavaEE)技术栈,特别是Struts2、Spring和Hibernate(SSH2)框架开发的一个简易论坛应用。SSH2是JavaWeb开发中常用的一个集成框架,...

    struts2-2.5.14

    Struts2有丰富的插件支持,如Freemarker和JSP视图技术,以及Spring、Hibernate等其他框架的集成。 9. **测试支持**: Struts2提供了JUnit测试支持,方便进行单元测试和集成测试。 10. **最佳实践**: 在使用...

    struts2中文教程

    Struts2是一个基于MVC(Model-View-Controller)设计模式的开源JavaEE框架,用于构建企业级Web应用程序。这个“Struts2中文教程”旨在帮助开发者深入理解并掌握Struts2框架的核心概念、功能以及实际应用。Struts2...

Global site tag (gtag.js) - Google Analytics