天天看點

基于struts環境下的jquery easyui環境搭建

下載下傳位址:

http://download.csdn.net/detail/cyberzhaohy/7348451

添加了json包:jackson-all-1.8.5.jar,項目結構如下:

基于struts環境下的jquery easyui環境搭建

測試網址:

http://localhost:9090/jquery-easyui-1.2.6BasedonStruts/layout.jsp

效果圖如下:

基于struts環境下的jquery easyui環境搭建

配置檔案web.xml:

<?xml

version="1.0"

encoding="UTF-8"?>

<web-app

version="2.4"

xmlns="http://java.sun.com/xml/ns/j2ee"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee

    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

    <welcome-file-list>

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

    </welcome-file-list>

    <listener>

       <listener-class>

           org.springframework.web.context.ContextLoaderListener

       </listener-class>

    </listener>

    <context-param>

       <param-name>contextConfigLocation</param-name>

       <param-value>classpath:beans.xml</param-value>

    </context-param>

    <filter>

       <filter-name>openSessionInView</filter-name>

       <filter-class>

           org.springframework.orm.hibernate3.support.OpenSessionInViewFilter

       </filter-class>

       <init-param>

           <param-name>sessionFactoryBeanName</param-name>

           <param-value>sf</param-value>

       </init-param>

    </filter>

    <filter-mapping>

       <url-pattern>/*</url-pattern>

    </filter-mapping>

       <filter-name>struts2</filter-name>

           org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

</web-app>

beans.xml配置,上面配置檔案黃色代碼sf使用下面黃色代碼配置:

<beans

xmlns="http://www.springframework.org/schema/beans"

    xmlns:context="http://www.springframework.org/schema/context"

    xmlns:aop="http://www.springframework.org/schema/aop"

    xmlns:tx="http://www.springframework.org/schema/tx"

    xsi:schemaLocation="http://www.springframework.org/schema/beans

           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd

          http://www.springframework.org/schema/context

          http://www.springframework.org/schema/context/spring-context-2.5.xsd

          http://www.springframework.org/schema/aop

           http://www.springframework.org/schema/aop/spring-aop-2.5.xsd

          http://www.springframework.org/schema/tx

          http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">

    <context:annotation-config/>

    <context:component-scanbase-package="com.xdy"></context:component-scan>

    <bean

       class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

       <property

name="locations">

           <value>classpath:jdbc.properties</value>

       </property>

    </bean>

id="dataSource"

       class="org.apache.commons.dbcp.BasicDataSource"

       destroy-method="close">

name="driverClassName"

           value="${jdbc.driverClassName}"/>

name="url"

value="${jdbc.url}"/>

name="username"

value="${jdbc.username}"

/>

name="password"

value="${jdbc.password}"

id="sf"

       class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">

name="dataSource"ref="dataSource"/>

name="packagesToScan">

           <list>

<value>com.xdy.registration.model</value>

           </list>

name="hibernateProperties">

           <props>

<prop

key="hibernate.dialect">

org.hibernate.dialect.OracleDialect

</prop>

key="hibernate.show_sql">true</prop>

           </props>

id="hibernateTemplate"

       class="org.springframework.orm.hibernate3.HibernateTemplate">

name="sessionFactory"

ref="sf"></property>

id="txManager"

       class="org.springframework.orm.hibernate3.HibernateTransactionManager">

    <aop:config>

       <aop:pointcut

id="bussinessService"

           expression="execution(public* com.xdy.registration.service.*.*(..))"></aop:pointcut>

       <aop:advisor

pointcut-ref="bussinessService"

           advice-ref="txAdvice"/>

    </aop:config>

    <tx:advice

id="txAdvice"

transaction-manager="txManager">

       <tx:attributes>

           <tx:method

name="exists"read-only="true"

name="add*"

propagation="REQUIRED"

       </tx:attributes>

    </tx:advice>

</beans>

控制邏輯struts.xml配置:

<!DOCTYPE

struts PUBLIC

"-//Apache Software Foundation//DTDStruts Configuration 2.1//EN"

"http://struts.apache.org/dtds/struts-2.1.dtd">

<struts>

    <constant

name="struts.i18n.encoding"

value="GBK"/>

    <package

name="registration"

extends="struts-default">

       <action

name="u"

           class="com.xdy.registration.action.UserAction">

           <result

name="success">/registerSuccess.jsp</result>

name="fail">/registerFail.jsp</result>

name="list">/UserList.jsp</result>

name="load">/User.jsp</result>

       </action>

    </package>

</struts>

UserAction.java代碼如下:

package com.xdy.registration.action;

import java.io.IOException;

import java.io.StringWriter;

import java.util.List;

import org.apache.struts2.ServletActionContext;

import org.codehaus.jackson.JsonFactory;

import org.codehaus.jackson.JsonGenerator;

import org.codehaus.jackson.map.ObjectMapper;

import com.opensymphony.xwork2.ActionSupport;

import com.opensymphony.xwork2.ModelDriven;

import com.xdy.registration.model.MyUser;

import com.xdy.registration.service.UserManager;

import com.xdy.registration.vo.UserRegisterInfo;

//@Component("user")

//@Component("u")

//@Scope("prototype")

publicclass UserAction

extends ActionSupport

implements ModelDriven {

    public Object getModel() {

       //

TODO Auto-generatedmethod stub

       returninfo;

    }

    /*

     * private Stringusername;; private String password; private String

     * password2;

     *

     * public StringgetUsername() { return username; }

     * public voidsetUsername(String username) { this.username = username; }

     * public StringgetPassword() { return password; }

     * public voidsetPassword(String password) { this.password = password; }

     * public StringgetPassword2() { return password2; }

     * public voidsetPassword2(String password2) { this.password2 = password2; }

     */

    private UserRegisterInfo

info =

new UserRegisterInfo();

    private UserManager

userManager;

    private List<MyUser>

users;

    private MyUser

myUser;

    public MyUser getMyUser() {

       returnmyUser;

    publicvoid setMyUser(MyUser myUser) {

       this.myUser = myUser;

    public String list() {

       this.users =

this.userManager.getUsers();

       return"list";

    public List<MyUser> getUsers() {

       returnusers;

    publicvoid setUsers(List<MyUser> users) {

       this.users = users;

    public UserAction() {

       System.out.println("useractioncreated!");

     * public UserAction() {ApplicationContext ctx = new

     *ClassPathXmlApplicationContext("beans.xml"); um = (UserManager)

     *ctx.getBean("userManager"); }

    @Override

    public String execute()

throws Exception {

       System.out.println(info.getUsername());

       /*

        * if (password !=password2) { return "fail"; }

        */

       MyUser u = new MyUser();

       u.setUsername(info.getUsername());//username);

       u.setPassword(info.getPassword());//password);

       if (userManager.exists(u)) {

           return"fail";

       }

       userManager.add(u);

       return"success";

    publicvoid datagird() {

       list();

       writeJson(this.users);

    publicvoid writeJson(Object o) {

       String json=getJsonString(o);

       try{

           ServletActionContext.getResponse().getWriter().write(json);

       }catch(IOException e){

           e.printStackTrace();

    public String getJsonString(Object o) {

       ObjectMapper om=new ObjectMapper();

       StringWriter sw=new StringWriter();

           JsonGenerator jg=new JsonFactory().createJsonGenerator(sw);

           om.writeValue(jg, o);

           jg.close();

       catch(IOException e){

       return sw.toString();

    public UserManager getUserManager() {

       returnuserManager;

    publicvoid setUserManager(UserManager userManager) {

       this.userManager = userManager;

    public UserRegisterInfo getInfo() {

    publicvoid setInfo(UserRegisterInfo info) {

       this.info = info;

    public String load() {

       this.myUser =

this.userManager.loadById(info.getId());

       return"load";

}

界面調用layout.jsp代碼:

<%@ page

language="java"

import="java.util.*"

pageEncoding="UTF-8"%>

<%

    String path = request.getContextPath();

    String basePath = request.getScheme() +

"://"

           + request.getServerName() +

":" + request.getServerPort()

           + path +

"/";

%>

HTML PUBLIC

"-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

    <head>

       <base

href="<%=basePath%>">

       <title>My JSP‘layout.jsp‘ starting page</title>

       <meta

http-equiv="pragma"

content="no-cache">

http-equiv="cache-control"

http-equiv="expires"

content="0">

http-equiv="keywords"

content="keyword1,keyword2,keyword3">

http-equiv="description"

content="This is my page">

       <!--

    <link rel="stylesheet" type="text/css"href="styles.css">

    -->

       <script

type="text/javascript"

src="js/jquery-1.7.2.min.js"

charset="UTF-8"></script>

src="js/jquery.easyui.min.js"

       <link

rel="stylesheet"

href="js/themes/default/easyui.css"

           type="text/css"></link>

href="js/themes/icon.css"

type="text/css"></link>

src="js/locale/easyui-lang-zh_CN.js"

charset="UTF-8">

       var

cc;

       $(function(){

           cc = $(‘#cc‘).layout();

           cc.layout(‘collapse‘,‘west‘);

       });

       function

getCenterPanel(){

           var

centerPanel=$(‘#cc‘).layout(‘panel‘,‘center‘);

           console.info(centerPanel.panel(‘options‘).title);

       </script>

    </head>

    <body 

id="cc">

       <div

region="north"

title="NorthTitle"

           style="height:100px;">

           <input

type="button"value="展開西部面闆"

onclick="cc.layout(‘expand‘,‘west‘);"/>

           </div>

region="south"

title="southTitle"

split="true"

type="button"value="獲得center面闆"

onclick="getCenterPanel();"/>

region="west"

title="westTitle"

collapse="true"

           style="width:200px;"></div>

region="center"

iconCls="icon-save"href="center.html"title="centerTitle"

style="overflow:hidden;">

    </body>

</html>

被引入代碼center.html如下:

<script

charset="utf-8">

    var

datagrid;

    $(function(){

       $(‘#datagrid‘).datagrid({

           //url:sy.bp()+‘/userAction!datagrid‘,

           url:‘u!datagird.action‘,

           title:‘ddddd‘,

           iconCls:‘icon-save‘,

           pagination:true,

           pageSize:10,

           pageList:[10,20,30,40],

           fit:true,

           fitColumns:false,

           nowarp:false,

           border:false,

           idField:‘id‘,

           columns:[[{

              title:‘編号‘,

              field:‘id‘,

              width:100

           },{

              title:‘姓名‘,

              field:‘name‘,

              title:‘密碼‘,

              field:‘password‘,

           }]]

    });

</script>

<div

class="easyui-tabs"

fit="true"

border="false">

    <div

title="user management管理"

    <table

id="datagrid"></table>

    </div>

</div>