OA中总结:s:select,关于使用modelDriven,项目分层,@Transactional,jspf,各个层上配置注解交给spring管理的方法,简单的OGNL表达式写法

简介: %<s:select> list:需要进行迭代的list集合 listKey:需要提交的值 listValue:需要在页面上显示的值============================优化1.ActionAction中存在重复的代码 从DepartmentAction/RoleAction/UserAction中抽取一个公共的BaseAction. 1.BaseAction中使

%
<s:select>
 list:需要进行迭代的list集合
 listKey:需要提交的值
 listValue:需要在页面上显示的值
============================
优化
1.Action
Action中存在重复的代码
 从DepartmentAction/RoleAction/UserAction中抽取一个公共的BaseAction.
 1.BaseAction中使用泛型,泛型的具体类型(Class)通过在构造方法中得到.
 如果model为null,就用具体类型newInstance()生成model.为什么model可能不为null?

2.Dao和Service==>3层改成两层
去掉dao层的具体的实现类xxxDaoImpl.而让service直接操作数据库
 service中直接使用session对数据库进行操作.
 1.service接口可以继承BaseDao
 2.ServiceImpl可以继承BaseDaoImpl
 注意:在BaseDaoImpl上添加@Transactional注解

 @Transactional可以被继承
 如果没有这个注解,在调用getCurrentSession()获取session时,会报错:
  No Hibernate session bounded to ...

3.jsp
 /WEB-INF/jsp/public/common.jspf
 1.抽取公共的js文件生成公共的common.jspf,然后在页面中用<%@ include file="/WEB-INF/jsp/public/common.jspf"%>调用(静态包含和动态包含)
  common.jspf中除了包含公共的js外,还包含公共的自定义标签的导入
 2.addUI.jsp和editUI.jsp==>改成save.jsp
 一般情况下,添加页面和修改页面可以使用同一个.
  1.<s:hidden name="id"/>
  2.<s:form action="departmentAction_%{id == null ? 'add' : 'edit'}"/>
  最后修改struts.xml中<result>对应的jsp页面

==================================================
完成增删改查功能的步骤
一、做action相关的准备
 1.创建xxxAction extends BaseAction
 2.定义出Action中的方法,要写出方法名、作用、返回值
 3.创建出所用到的jsp页面(内容先不写)
 4.配置:
  1.Spring==>在xxxAction上添加注解@Controller和@Scope
  2.Struts2==>在struts.xml中添加
  <action name="" class="" method="">..</action>
二、做service相关的配置
 1.创建接口XxxService继承BaseDao
 2.创建实现类XxxServiceImpl继承BaseDaoImpl
 3.配置:在XxxServiceImpl上添加注解@Service
 4.声明:在BaseAction上声明各个service作为成员变量,并在变量上添加注解@Resource
三、填空
 1.Action方法
  .......
 2.新增的的Service方法
 3.jsp页面的内容
  1.拷贝静态页面中的方法到jsp中
  2.<%@ include file="/WEB-INF/jsp/public/common.jspf"%>
  3. ../替换成${pageContext.request.contextPath}/
  4.改页面内容(使用自定义标签)
   1.列表页面
   <s:iterator value="..">
   <s:a action=".." onclik="">
   注意:onclick中的c小写
   2.表单页面(saveUI.jsp)
   <s:form action="departmentAction_%{id==null?'add':'edit'}">
    <s:hidden name="">
    <s:textfield>
    <s:textarea>
    <s:select name="" list=".." listKey=".." listValue="..">
    <s:radio name="gender" list="#{'男':'男','女':'女'}" listKey="" listValue="">
     其中:#{'男':'男','女':'女'}可以简写成#{'男','女'}
    <s:checkbox>
    <s:submit>
   </s:form>

   <select multiple="true" size="10">对应的struts标签
   <s:select name="" mutiple="true" cssClass="" list="#roleList" listKey="id" listValue="name">

未完成的任务
 // TODO
 Tasks

目录
相关文章
|
1月前
|
网络协议 Java Shell
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
71 7
|
3月前
|
存储 JSON 前端开发
【Spring项目】表白墙,留言板项目的实现
本文主要介绍了表白墙项目的实现,包含前端和后端代码,以及测试
|
3月前
|
JSON 前端开发 Java
|
3月前
|
缓存 前端开发 Java
【Spring】——SpringBoot项目创建
SpringBoot项目创建,SpringBootApplication启动类,target文件,web服务器,tomcat,访问服务器
|
4月前
|
存储 运维 安全
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
108 2
|
5月前
|
设计模式 前端开发 Java
Spring MVC——项目创建和建立请求连接
MVC是一种软件架构设计模式,将应用分为模型、视图和控制器三部分。Spring MVC是基于MVC模式的Web框架,通过`@RequestMapping`等注解实现URL路由映射,支持GET和POST请求,并可传递参数。创建Spring MVC项目与Spring Boot类似,使用`@RestController`注解标记控制器类。
69 1
Spring MVC——项目创建和建立请求连接
|
5月前
|
Java 关系型数据库 MySQL
Maven——创建 Spring Boot项目
Maven 是一个项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,简化了项目的构建和管理过程。其核心功能包括项目构建和依赖管理,支持创建、编译、测试、打包和发布项目。Maven 仓库分为本地仓库和远程仓库,远程仓库包括中央仓库、私服和其他公共库。此外,文档还介绍了如何创建第一个 SpringBoot 项目并实现简单的 HTTP 请求响应。
399 1
Maven——创建 Spring Boot项目
|
5月前
|
Java 关系型数据库 MySQL
如何使用 maven 创建一个 Spring Boot项目
Maven 是一个强大的项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,提高开发效率。其核心功能包括项目构建和依赖管理。项目构建支持编译、测试、打包和发布等流程,而依赖管理则通过中央仓库、本地仓库和私有服务器获取和管理项目依赖。示例中展示了如何创建第一个 SpringBoot 项目并实现简单接口。
103 1
如何使用 maven 创建一个 Spring Boot项目
|
5月前
|
Java 应用服务中间件 Android开发
Eclipse创建Spring项目
本文介绍了在Eclipse中创建Spring项目的步骤,包括如何配置Tomcat服务器、创建项目、部署项目到Tomcat以及添加Spring框架所需的JAR包。
155 1
Eclipse创建Spring项目
|
5月前
|
Java Spring
ij社区版如何创建spring项目
如何在IntelliJ IDEA社区版中创建Spring项目,包括安装Spring Boot Helper插件的步骤和创建过程。
195 1
ij社区版如何创建spring项目