`
- 浏览:
45441 次
-
BaseAction
-
packagecom.easyjob.cnhuike.actions;
-
importjavax.servlet.ServletContext;
-
importjavax.servlet.http.HttpServletRequest;
-
importjavax.servlet.http.HttpServletResponse;
-
importjavax.servlet.http.HttpSession;
-
importorg.apache.struts2.ServletActionContext;
-
importorg.springframework.context.ApplicationContext;
-
importjava.io.*;
-
importjava.util.ArrayList;
-
importjava.util.List;
-
importcom.easyjob.cnhuike.util.modelConstant.LoginConstant;
-
importcom.framework.util.DateUtil;
-
importcom.opensymphony.xwork2.ActionSupport;
-
-
publicclassBaseActionextendsActionSupport{
-
-
publicstaticfinalStringLIST="list";
-
publicstaticfinalStringNEXT="next";
-
StringinputAction;
-
StringnextAction;
-
-
-
publicHttpServletRequestgetRequest(){
-
returnServletActionContext.getRequest();
-
}
-
-
publicHttpServletResponsegetResponse(){
-
returnServletActionContext.getResponse();
-
}
-
-
publicHttpSessiongetSession(){
-
returngetRequest().getSession();
-
}
-
-
publicServletContextgetServletContext(){
-
returnServletActionContext.getServletContext();
-
}
-
-
publicStringgetRealyPath(Stringpath){
-
returngetServletContext().getRealPath(path);
-
}
-
-
-
publicStringgetInputAction(){
-
returninputAction;
-
}
-
publicvoidsetInputAction(StringinputAction){
-
this.inputAction=inputAction;
-
}
-
publicStringgetNextAction(){
-
returnnextAction;
-
}
-
publicvoidsetNextAction(StringnextAction){
-
this.nextAction=nextAction;
-
}
-
}
上传用的BaseAction
-
packagecom.easyjob.cnhuike.actions;
-
-
-
importjava.io.BufferedInputStream;
-
importjava.io.BufferedOutputStream;
-
importjava.io.File;
-
importjava.io.FileInputStream;
-
importjava.io.FileOutputStream;
-
importjava.io.IOException;
-
importjava.io.InputStream;
-
importjava.io.OutputStream;
-
importjava.util.ArrayList;
-
importjava.util.List;
-
-
importcom.framework.util.DateUtil;
-
-
publicclassBaseUploadFileActionextendsBaseAction{
-
publicstaticfinalintBUFFER_SIZE=16*1024;
-
-
publicFile[]upload;
-
-
publicString[]uploadFileName;
-
-
publicString[]uploadContentType;
-
-
publicStringsavePath="";
-
-
publicBaseUploadFileAction(){
-
savePath="\\uploadFile";
-
}
-
-
-
publicbooleancopy(Filesrc,Filedst,intBUFFER_SIZE){
-
booleanresult=false;
-
InputStreamin=null;
-
OutputStreamout=null;
-
try{
-
in=newBufferedInputStream(newFileInputStream(src),BUFFER_SIZE);
-
out=newBufferedOutputStream(newFileOutputStream(dst),
-
BUFFER_SIZE);
-
byte[]buffer=newbyte[BUFFER_SIZE];
-
intlen=0;
-
while((len=in.read(buffer))>0){
-
out.write(buffer,0,len);
-
}
-
result=true;
-
}catch(Exceptione){
-
e.printStackTrace();
-
result=false;
-
}finally{
-
if(null!=in){
-
try{
-
in.close();
-
}catch(IOExceptione){
-
e.printStackTrace();
-
}
-
}
-
if(null!=out){
-
try{
-
out.close();
-
}catch(IOExceptione){
-
e.printStackTrace();
-
}
-
}
-
}
-
returnresult;
-
}
-
-
-
-
publicList<String>uploadFile(Stringpath,booleanisFullPath)throwsIOException{
-
List<String>successFileList=newArrayList<String>();
-
-
for(inti=0;i<upload.length;i++){
-
-
StringsrcFilesInfo=uploadFileName[i].toString();
-
-
StringFileExtensions=srcFilesInfo.substring(srcFilesInfo.lastIndexOf("."),srcFilesInfo.length());
-
StringfileName=DateUtil.getNowDate(null)+"-"+DateUtil.getHour()+DateUtil.getMinute()+DateUtil.getSecond()+i+FileExtensions;
-
StringdstPath=getRealyPath(path)+"\\"+fileName;
-
FiledstFile=newFile(dstPath);
-
if(copy(upload[i],dstFile,BUFFER_SIZE)){
-
if(isFullPath){
-
successFileList.add(path+fileName);
-
}else{
-
successFileList.add(fileName);
-
}
-
}
-
if(successFileList.size()<1){
-
thrownewIOException();
-
}
-
}
-
returnsuccessFileList;
-
}
-
-
publicList<String>uploadFile(Stringpath)throwsIOException{
-
returnuploadFile(path,false);
-
}
-
-
-
publicList<String>getFileNames(Stringpath){
-
Filefile=newFile(getRealyPath(path));
-
List<String>resultList=newArrayList<String>();
-
File[]files=file.listFiles();
-
for(FiletempFile:files){
-
if(tempFile.isFile()){
-
resultList.add(tempFile.getName());
-
}
-
}
-
returnresultList;
-
}
-
-
-
publicvoidcreateFold(Stringpath){
-
try{
-
path=getRealyPath(path);
-
Filefolder=newFile(path);
-
if(!folder.exists()){
-
folder.mkdirs();
-
}
-
-
}catch(Exceptione){
-
e.printStackTrace();
-
}
-
}
-
-
-
-
-
-
publicFile[]getUpload(){
-
returnupload;
-
}
-
-
publicvoidsetUpload(File[]upload){
-
this.upload=upload;
-
}
-
-
publicString[]getUploadFileName(){
-
returnuploadFileName;
-
}
-
-
publicvoidsetUploadFileName(String[]uploadFileName){
-
this.uploadFileName=uploadFileName;
-
}
-
-
publicString[]getUploadContentType(){
-
returnuploadContentType;
-
}
-
-
publicvoidsetUploadContentType(String[]uploadContentType){
-
this.uploadContentType=uploadContentType;
-
}
-
-
publicStringgetSavePath(){
-
returnsavePath;
-
}
-
-
publicvoidsetSavePath(StringsavePath){
-
this.savePath=savePath;
-
}
-
-
publicstaticintgetBUFFER_SIZE(){
-
returnBUFFER_SIZE;
-
}
-
}
上传时所用到的拦截配置
-
<interceptors>
-
<interceptor-stackname="albumUpload">
-
<interceptor-refname="fileUpload">
-
<!--配置允许上传的文件类型,多个用","分隔-->
-
<paramname="allowedTypes">
-
image/bmp,image/png,image/gif,image/jpeg,image/jpg,image/x-png,image/pjpeg
-
</param>
-
<!--配置允许上传的文件大小,单位字节-->
-
<paramname="maximumSize">10240000</param>
-
</interceptor-ref>
-
<interceptor-refname="defaultStack"/>
-
</interceptor-stack>
-
</interceptors>
-
-
<actionname="album!*"class="com.easyjob.cnhuike.actions.AlbumAction"method="{1}">
-
<interceptor-refname="albumUpload"/>
-
<result>/album/album_{1}.jsp</result>
-
<resultname="list"type="redirect-action">album!{1}List</result>
-
<resultname="error">/album/album_error.jsp</result>
-
<resultname="input">/album/album_error.jsp</result>
-
<resultname="next"type="redirect-action">
-
<paramname="actionName">${nextAction}</param>
-
<paramname="namespace">/album</param>
-
</result>
-
</action>
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
本测试代码主要关注`BaseAction`,一个常见的Action基类,它为其他具体的业务Action提供了一些基础功能和通用逻辑。`BaseAction`通常会包含错误处理、日志记录、请求参数验证等常见操作,以此提高代码的可重用性和可...
在Java编程中,`Utils` 类和 `BaseAction` 是两个常见的概念,它们在软件开发中扮演着重要的角色。下面将详细阐述这两个概念及其在实际应用中的作用。 首先,我们来了解一下 `Utils` 类。`Utils`(工具类)通常是...
很好用的工具类,希望帮助到大家
在Java编程领域,"BaseAction"常常被用作一个基类或者抽象类,为其他类提供通用的功能和行为。在给定的`BaseAction.rar`压缩包中,包含了一个名为`BaseAction.java`的源代码文件,这通常意味着这个文件定义了一个名...
- **利用BaseAction类**:Struts提供了BaseAction基类,包含了一些通用的功能,如异常处理、日志记录等,继承自该类可以使Action开发更为高效。 - **串接Action**:通过Action链或拦截器模式,可以让多个Action协同...
业务逻辑层是通过 Spring 框架实现的,首先建立一个 BaseAction,它继承了 Action 类,而其他定义的 Action 都要继承这个 BaseAction。这个 BaseAction 需要导入 AppContext 工具类,通过 Spring 中的 org.spring...
本篇将深入探讨一个被誉为“史上最灵活、强大”的分页框架,结合提供的`BaseAction.java`源码,我们将分析其设计思路和技术要点。 首先,强大的分页框架应具备以下几个核心特性: 1. **灵活性**:框架需要适应不同...
BaseAction类中导入了AppContext工具类,该工具类需要从Spring框架中导入,使得继承BaseAction的子类能够通过getXXXService()方法来获取服务的实例,体现了服务定位器的设计模式。这一设计使得业务层的功能得到了...
技术上的提升:在web层和dao层都提取了公共代码封装到BaseAction和BaseDao中,提高了代码的复用,同时按照OO设计原则,针对接口编程,而不是针对实现编程。使用拦截器的方法对系统权限进行初步控制(后续可以采用...
= null && ("com.post.common.BaseAction".equals(supercls.getName()) || "BaseAction".equals(supercls.getSimpleName()))) { classes.add(c); } } return classes; } ``` 这个方法使用 `getClasses` 方法来...
具体实现 我现在的程序是基于ThinkPHP框架的,我们会有一个父类控制器,下面我就把这个设置cookie的代码加到这个BaseAction里面的_initialize()函数中,这样程序就大大简化工作量了。 复制代码 代码如下:$refer = ...
在web层和dao层都提取了公共代码封装到BaseAction和BaseDao中,提高了代码的复用,同时按照OO设计原则,针对接口编程,而不是针对实现编程。 使用拦截器的方法对系统权限进行初步控制(后续可以采用Shiro框架进行...
- **Action层**:`BaseAction`作为基础Action类,用于处理前端请求。 ```java import org.springframework.web.context.WebApplicationContext; public class BaseAction { // 通过Spring注入的...
`AreaAction.java`可能是具体的业务操作类,它继承了`BaseAction.java`,实现了特定领域的分页操作。 `AccNodes.java`可能是表示数据节点的类,包含了分页数据的实体对象。这些节点可能被用于构建分页列表,每个...
middle层是通过 Spring 框架实现的,首先建立一个 BaseAction,然后其他定义的 Action 都要继承这个 BaseAction。持久层是由 Hibernate 架构实现的,包括关于整体数据库的 hibernate.cfg.xml 文件、每个表的 ...
本仓库仓库是开始学习JAVA-WEB开发的一些练手...技术支持在web层和dao层都提取了公共代码封装到BaseAction和BaseDao中,提高了代码的复用性,同时遵循OO设计原则,接口是针对编程的,而不是针对实现编程的。使用拦截
在这个例子中,Action需要继承自BaseAction,BaseAction提供了一些基础功能,如增删查改。Action层通过@Autowired注解来注入需要的Service实例,例如UserService。同时,如果要使用BaseAction中的方法,还需要注入...
6. **BaseAction类**:`BaseAction`可能是所有Action类的基类,它可能包含了一些通用的方法,如事务管理、日志记录等,以减少代码重复。 7. **StartExam类和QuestionsForm类**:`StartExam`可能是考试功能的实现,...