- 浏览: 663944 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (173)
- ajax (4)
- ant (4)
- css (14)
- eclipse (1)
- exe4j (0)
- hibernate (7)
- html (29)
- http (2)
- install4j (0)
- java (35)
- javascript (31)
- jdbc (1)
- jquery (2)
- jsp (15)
- linux命令 (8)
- ooad (2)
- properties (3)
- servlet (1)
- spring (3)
- struts (6)
- swing (4)
- thread (2)
- version_control (1)
- webservice (4)
- xml (4)
- 数据库 (19)
- 正则表达式 (5)
- 其他 (16)
- 面试题 (1)
- 框架 (9)
- maven (1)
- util (29)
- 设计模式 (1)
最新评论
-
herodie4444:
看起来好像不难。
Java Struts2创建Excel文件并实现文件下载 -
心轨翼:
Java遍历Set集合方法 -
魔鬼的献祭:
...
java的web开发分页工具类 -
Nmxszxsl:
能发一个没有被墙的代码到我的邮箱吗?万分感谢。54365156 ...
Google翻译post提交无长度限制的在线翻译例子 -
782763595:
...
jar包混淆器介绍
基类:
package com.kit.common; import java.io.Serializable; import java.util.HashMap; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.struts2.ServletActionContext; import org.apache.struts2.interceptor.ServletRequestAware; import org.apache.struts2.interceptor.ServletResponseAware; import com.kit.utils.Config; import com.kit.utils.JsonUtil; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; @SuppressWarnings({"serial","unchecked","rawtypes"}) public abstract class BaseAction extends ActionSupport implements ServletRequestAware, ServletResponseAware, Serializable{ public Boolean isSearch;//是否查询 public String filterType;//查询业务类型 public QueryParameter queryParameter;//封装查询参数 public QueryResult queryResult;//查询结果 public Long rows = SysConstant.ADMIN_PAGE_COUNT;//分页(每页显示记录数10) public Long page = 1L;//页码 public String sortName;//jquery 表格排序字段 public String sortOrder;//jquery 表格排序方式 public HttpServletRequest request; public HttpServletResponse response; public String returnPageURL; public String returnParamater; public String resultJSON; public void beforeAnsy(){ ServletActionContext.getResponse().setCharacterEncoding("UTF-8"); ServletActionContext.getResponse().setHeader("Cache-Control","no-cache"); ServletActionContext.getResponse().setHeader("Pragma","no-cache"); ServletActionContext.getResponse().setDateHeader("Expires",0); } public final Log log = LogFactory.getLog(getActionClassFullName()); /** * 去指定的URL地址 * @return */ public String goToUrl(){ return "dispatcher"; } /** * 实体列表初始化 * @return */ protected String initQueryList(boolean isValidFilter) { if(null!=isSearch && isSearch.booleanValue()){//点击查询 Context.setQueryParameter(getActionClassFullName(), queryParameter); }else if(null!=isSearch && !isSearch.booleanValue()){//非查询 queryParameter = Context.getQueryParameter(getActionClassFullName()); if(null!=queryParameter){ Context.removeQueryParameter(getActionClassFullName()); } queryParameter = new QueryParameter(); }else{//查询分页 queryParameter = Context.getQueryParameter(getActionClassFullName());//获取查询条件 if(null == queryParameter){ queryParameter = new QueryParameter(); } } StringBuffer sb = new StringBuffer(" where "); sb.append(makeFilterString(queryParameter));//过滤HQL initQueryResult(rows);//初始化查询分页参数 if(isValidFilter){ if(sb.toString().trim().equals("where")){ sb.append(" valid='1'"); }else{ sb.append(" and valid='1'"); } }else{ if(sb.toString().trim().equals("where")) sb.append(" 1=1 "); } return sb.toString(); } /** * 初始化查询分页参数 */ protected void initQueryResult(Long queryResultCountType) { if(null==queryResult){ queryResult = new QueryResult(); } if(rows==0) queryResult.setMaxResult(queryResultCountType); else queryResult.setMaxResult(rows); queryResult.setCurrentPage(page); String currentRequest = request.getRequestURI(); queryResult.setUrl(currentRequest); } protected void retrunMsg(boolean sucess,Map retMsg){ if(retMsg==null)retMsg = new HashMap(); retMsg.put("state", sucess); String retJSON = ""; if(sucess){ retMsg.put("resultMsg", "操作成功!"); retJSON = JsonUtil.getJSONString(retMsg); }else{ retMsg.put("resultMsg", "操作异常!请检查并重试或联系管理员。"); retJSON = JsonUtil.getJSONString(retMsg); } JsonUtil.toJSONHtmlOut(retJSON); } protected void retrunMsg(boolean sucess){ Map retMsg = new HashMap(); retMsg.put("state", sucess); String retJSON = ""; if(sucess){ retMsg.put("resultMsg", "操作成功!"); retJSON = JsonUtil.getJSONString(retMsg); }else{ retMsg.put("resultMsg", "操作异常!请检查并重试或联系管理员。"); retJSON = JsonUtil.getJSONString(retMsg); } JsonUtil.toJSONHtmlOut(retJSON); } protected void retrunMsg(boolean state,String retMassage){ Map retMsg = new HashMap(); retMsg.put("state", state); retMsg.put("resultMsg", retMassage); String retJSON = JsonUtil.getJSONString(retMsg); JsonUtil.toJSONHtmlOut(retJSON); } public Map<String, Object> getSession() { return ActionContext.getContext().getSession(); } public Config Cfg() { return Config.getInstance(); } public QueryParameter getQueryParameter() { return queryParameter; } public void setQueryParameter(QueryParameter queryParameter) { this.queryParameter = queryParameter; } public Boolean getIsSearch() { return isSearch; } public void setIsSearch(Boolean isSearch) { this.isSearch = isSearch; } public void setServletResponse(HttpServletResponse response) { this.response = response; } public void setServletRequest(HttpServletRequest request) { this.request = request; } public QueryResult getQueryResult() { return queryResult; } public void setQueryResult(QueryResult queryResult) { this.queryResult = queryResult; } public String getReturnPageURL() { return returnPageURL; } public Long getRows() { return rows; } public void setRows(Long rows) { this.rows = rows; } public Long getPage() { return page; } public void setPage(Long page) { this.page = page; } public void setReturnPageURL(String returnPageURL) { this.returnPageURL = returnPageURL; } public String getReturnParamater() { return returnParamater; } public void setReturnParamater(String returnParamater) { this.returnParamater = returnParamater; } public String getSortName() { return sortName; } public void setSortName(String sortName) { this.sortName = sortName; } public String getSortOrder() { return sortOrder; } public void setSortOrder(String sortOrder) { this.sortOrder = sortOrder; } public String getFilterType() { return filterType; } public void setFilterType(String filterType) { this.filterType = filterType; } }
实现基本业务类:
package com.forveross.coas.web.action; import java.util.ArrayList; import java.util.Date; import java.util.List; import javax.annotation.Resource; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Controller; import com.forveross.plane.service.TaskInfoService; import com.forveross.plane.vo.TaskInfo; import com.kit.common.BaseAction; import com.kit.common.QueryParameter; @SuppressWarnings("serial") @Controller("taskInfoAction") @Scope("prototype") public class TaskInfoAction extends BaseAction { @Resource(name = "taskInfoServiceImpl") private TaskInfoService taskInfoService; private int pageNum = 1; private int pageSize = 15; private int totalCount; private int pageCount; private int cpage = 1;// 当前页 private List<Integer> pageList; private String mes;// 提示信息 private String act; private String taskId; private TaskInfo taskInfo; private Date grabTime; public Date getGrabTime() { return grabTime; } public void setGrabTime(Date grabTime) { this.grabTime = grabTime; } private List<TaskInfo> taskList; public TaskInfoService getTaskInfoService() { return taskInfoService; } public void setTaskInfoService(TaskInfoService taskInfoService) { this.taskInfoService = taskInfoService; } public int getPageNum() { return pageNum; } public void setPageNum(int pageNum) { this.pageNum = pageNum; } public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } public int getTotalCount() { return totalCount; } public void setTotalCount(int totalCount) { this.totalCount = totalCount; } public int getPageCount() { return pageCount; } public void setPageCount(int pageCount) { this.pageCount = pageCount; } public int getCpage() { return cpage; } public void setCpage(int cpage) { this.cpage = cpage; } public String getMes() { return mes; } public void setMes(String mes) { this.mes = mes; } public List<Integer> getPageList() { return pageList; } public void setPageList(List<Integer> pageList) { this.pageList = pageList; } public String getAct() { return act; } public void setAct(String act) { this.act = act; } public TaskInfo getTaskInfo() { return taskInfo; } public String getTaskId() { return taskId; } public void setTaskId(String taskId) { this.taskId = taskId; } public void setTaskInfo(TaskInfo taskInfo) { this.taskInfo = taskInfo; } public List<TaskInfo> getTaskList() { return taskList; } public void setTaskList(List<TaskInfo> taskList) { this.taskList = taskList; } /** * 初始化分页信息 */ public void initPage() { cpage = pageNum; totalCount = taskInfoService.countTaskInfo(); pageList = new ArrayList<Integer>(); if (totalCount % pageSize != 0) { pageCount = totalCount / pageSize + 1; } else { pageCount = totalCount / pageSize; } for (int i = 1; i <= pageCount; i++) { pageList.add(i); } } /** * 添加航空公司 * * @return * @throws Exception */ public String addTaskInfo() throws Exception { String urlStr = ""; if (taskId != null && !taskId.trim().equals("")) {// 修改 taskInfo = taskInfoService.findTaskInfo(Long.parseLong(taskId)); urlStr = "WEB-INF/jsp/pg/flight/task_update.jsp"; } else {// 添加 urlStr = "WEB-INF/jsp/pg/flight/task_add.jsp"; } returnPageURL = urlStr; return "dispatcher"; } /** * 添加或修改任务 * * @return * @throws Exception */ public String editTaskInfo() throws Exception { String urlStr = ""; if (act != null && act.equals("update")) {// 修改 taskInfo.setNextGrabTime(this.grabTime); taskInfoService.saveOrUpdateTaskInfo(taskInfo); this.mes = "修改任务成功!"; initPage(); taskList = taskInfoService.findTaskInfoList(pageNum, pageSize); urlStr = "WEB-INF/jsp/pg/flight/task_setting.jsp"; } else {// 添加 taskInfo.setNextGrabTime(this.grabTime); taskInfoService.saveOrUpdateTaskInfo(taskInfo); setTaskInfo(null); urlStr = "WEB-INF/jsp/pg/flight/task_add.jsp"; } returnPageURL = urlStr; return "dispatcher"; } /** * 删除任务 * * @return * @throws Exception */ public String deleteTaskInfo() throws Exception { if (taskId != null && !taskId.trim().equals("")) { taskInfoService.deleteTaskInfo(Long.parseLong(taskId)); this.mes = "删除任务成功!"; } initPage(); taskList = taskInfoService.findTaskInfoList(pageNum, pageSize); returnPageURL = "WEB-INF/jsp/pg/flight/task_setting.jsp"; return "dispatcher"; } /** * 查询显示任务列表 * * @return * @throws Exception */ public String showTaskInfoList() throws Exception { initPage(); taskList = taskInfoService.findTaskInfoList(pageNum, pageSize); returnPageURL = "WEB-INF/jsp/pg/flight/task_setting.jsp"; return "dispatcher"; } }
发表评论
-
java读取.properties配置文件的几种方法
2017-09-22 09:38 670读取.properties配置文件在实际的开发中使用的很多,总 ... -
java前后台字符串编码转换
2016-12-15 15:52 798此文为应用中遇到字符串编码转换问题网上找资料解决问题记录笔记, ... -
JS前端DES加密参数
2016-07-08 14:27 11719DES加密为可解密的机制,这里使用DES进行加密方便后台解密还 ... -
XSS跨站漏洞修复
2016-07-08 11:47 4914避免XSS跨站漏洞的方法之一主要是将用户所提交的内容输入输出进 ... -
Java Struts2创建Excel文件并实现文件下载
2015-01-16 17:42 1879在做管理系统的时候,经常会用到文件的下载,特别是Excel报表 ... -
hibernate注解配置联合主键
2014-07-17 09:35 1563有时一个实体的主键可能同时为多个,例如下面使用的字典“Dict ... -
hibernate的clob数据处理
2014-05-21 17:11 1099hibernate的clob数据处理: import or ... -
Struts2非UI标签
2013-06-05 18:58 2431一 介绍 1.Struts2的作用 ... -
java设计模式笔记链接地址汇总
2012-12-25 12:02 1082这是iteye博客用户的iulve-rover-163-com ... -
java枚举类型(转)
2012-12-24 18:34 4969public class TestEnum { ... -
内存溢出
2012-11-21 11:07 11171.PermGen space的全称是Permanent Ge ... -
日期比较例子
2012-10-16 15:30 1210/** * 时间日期比较处理例子 * @autho ... -
基于hibernate的数据持久化处理简单实现类
2012-09-26 20:03 1767package com.forveross.plane.s ... -
Java过滤html标签
2012-09-21 09:54 1806方法一: String oldStr="< ... -
Web项目设置页面不缓存
2012-08-04 19:55 2867htm网页 <meta http-equiv=&qu ... -
Java文件保存与删除工具类
2012-07-26 15:46 4349import java.io.File; import ... -
使用AOP实现监控日志并保存
2012-07-13 20:42 6002最近项目中要做个效能监控的功能,经过考虑,觉得选择spring ... -
POI兼容读取Excel2003和Excel2007
2012-06-29 16:00 9446import java.io.File; import ... -
登录验证过滤器Filter
2012-06-01 14:30 1603import java.io.IOException; ... -
java Web常用基本操作代码
2011-12-30 10:23 34401.Struts2中文件保存 //设置文件的三个属性,并 ...
相关推荐
这个"struts2简单示例"旨在帮助初学者快速掌握Struts2的基本用法,特别是实现一个简单的登录功能。下面将详细解释相关知识点。 首先,Struts2框架的核心是Action类,它是处理用户请求的中心。在这个示例中,你会...
这个“struts2简单例子”是初学者理解Struts2工作原理和核心概念的一个很好的起点。让我们深入探讨一下Struts2的基础知识。 1. **MVC架构**: MVC模式是软件设计中的一个经典模式,它将应用逻辑分为三个主要部分:...
在这个"Struts 2简单小示例"中,我们可能看到一个简单的Action类、配置文件、以及一个展示结果的JSP页面。通过学习和实践这个示例,开发者能够对Struts 2的工作原理和基本操作有一个清晰的理解,为进一步深入学习和...
在"Struts2简单的页面跳转示例"中,我们通常会有一个Action类,这个类需要继承自Struts2提供的ActionSupport类或者自定义一个基类。Action类中的方法对应用户请求的URL,当用户发起请求时,Struts2框架会根据配置...
以下是对"完整Struts2文件上传示例"的详细解释: 1. **配置Struts2框架** 在Struts2中,我们首先需要在`struts.xml`配置文件中添加相关的拦截器(interceptor)来处理文件上传。`struts.multipart.parser`属性应...
Struts2的Action类可以定义一个方法对应登录操作,接收表单提交的数据,而Struts2的配置文件(struts.xml)则指定Action类和方法。 3. **OGNL表达式**:OGNL是Struts2中的默认表达式语言,用于访问和操作对象的属性...
在描述中提到的"简单的Struts2的示例工程"中,我们可能会看到一个或多个Action类,它们是程序的业务逻辑中心。 Action类通常继承自`org.apache.struts2.dispatcher.ng.ExecuteAction`或实现了`...
根据业务需求,创建相应的JSP页面以供用户输入数据,并通过表单提交数据到Struts2的Action类。 第4步:在struts.xml文件中配置Action。这是一个基于XML的配置文件,用于定义和映射Action类、结果页面以及其它配置...
这个"最简单的Struts2的代码示例"旨在帮助初学者快速理解和上手Struts2框架的基本用法。 首先,我们从MVC架构开始。在Struts2中,模型由业务逻辑处理,视图负责展示用户界面,而控制器接收用户的请求,处理业务逻辑...
描述中的"Struts示例demo"进一步强调了这是一个实践性的教程,旨在帮助开发者理解并掌握Struts2的核心概念和工作流程。 标签"Struts2demo"表明这是一个关于Struts2的实例,可能涵盖了Action、Interceptor、Result...
通过这个简单的Struts2示例,开发者可以学习到如何创建Action、配置Struts2、使用OGNL以及理解MVC模式在实际项目中的应用。对于初学者来说,这是一个很好的起点,可以帮助他们快速融入Java Web开发的世界。同时,对...
在基于Struts2的购物车实现中,首先我们需要创建一个Action类,这个类通常会对应于用户与购物车交互的各种操作,如添加商品、删除商品、更新商品数量等。Action类需要继承自Struts2提供的ActionSupport基类,并且...
2. **配置文件**:`struts.xml`是Struts2的核心配置文件,它定义了Action类、Action的执行方法、结果视图等。在这个例子中,你可以看到如何配置Action与URL的对应关系,以及Action执行后的跳转逻辑。 3. **JSP视图*...
此外,Struts2还支持XML配置验证规则,这使得验证逻辑可以从Action类中分离出来,增强代码的可维护性。在struts.xml配置文件中,我们可以这样定义: ```xml <action name="userAction" class=...
3. **Action类和业务逻辑**:每个Action类都是Struts2控制器的一部分,它执行特定的操作并返回结果。Bookzilla项目可能包含如`BookListAction`这样的类,用于获取书籍列表。Action类通常包含业务逻辑,比如从数据库...
1. **Action与Result**:在Struts2中,Action类是处理用户请求的核心组件,它实现了业务逻辑。每个Action都有一个与之关联的结果(Result),定义了请求处理后的跳转目标,可以是另一个Action、JSP页面、静态资源等...
struts2 示例 目的:构建struts2开发框架 适合:有一定struts2基础 实现:通过对用户信息的基本操作来给大家做个示范 1、struts2的搭建 2、web.xml文件的简单配置 3、struts.xml文件的简单配置 4、网站初始化工作...
在Struts2中,你可以创建一个简单的Java类并使用注解(如`@Action`)来标识它作为Action。Action类通常包含多个方法,每个方法对应用户界面的一个操作。 2. **配置文件**:在`struts.xml`或`struts-default.xml`等...
学习这个示例源码,你可以了解如何配置Struts2框架,如何编写Action类,如何使用JSP页面展示结果,以及如何利用拦截器增强功能。这将有助于你在实际开发中更有效地利用Struts2构建高质量的Java web应用。
"mySSH"可能指的是MySSH项目,这是一个基于Struts2和Spring的简单示例,可能包含了基础的CRUD操作。源码中可能包含了Action类、Service接口及实现、DAO接口及实现,以及相关的配置文件。通过阅读源码,你可以学习到...