系统原型结构描述(八)

本文介绍了一个基于Struts2框架的应用案例,其中包括了与规则引擎Drools的集成方法。通过具体代码展示了如何在Struts2中使用Drools进行业务规则处理,并涉及文件上传和权限验证等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

IndexDroolsAction.java


package com.test.action.view.drools;

import com.opensymphony.xwork2.ActionSupport;

public class IndexDroolsAction extends ActionSupport {

 public String execute() {
  
  return SUCCESS;
 }
}


IndexDroolsProcessAction.java


package com.test.action.view.drools;

import org.apache.log4j.Logger;

import com.opensymphony.xwork2.ActionSupport;
import com.test.drools.Drools;

public class IndexDroolsProcessAction extends ActionSupport {
 final static Logger logger = Logger.getLogger(IndexDroolsProcessAction.class);
 private Drools drools = null;
 public int status = 0;
 
 public int getStatus() {
  return status;
 }
 public void setStatus(int status) {
  this.status = status;
 }
 public Drools getDrools() {
  return drools;
 }
 public void setDrools(Drools drools) {
  this.drools = drools;
 }
 
 public String execute() {
  
  logger.debug("status : " + status);
  try {
   this.drools.run(status);
  } catch (Exception e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return SUCCESS;
 }
}

 

FiatViewProcessAction.java


package com.test.action.view.fiat;

import java.security.Principal;

import javax.servlet.http.HttpServletRequest;

import org.apache.log4j.Logger;
import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.test.logic.service.BookService;

public class FiatViewProcessAction extends ActionSupport {
 static Logger logger = Logger.getLogger(FiatViewProcessAction.class);
 private BookService bookService = null;
 public BookService getBookService() {
  return bookService;
 }
 public void setBookService(BookService bookService) {
  this.bookService = bookService;
 }
 public String execute() {
  String result = ERROR;
  
  logger.debug("FiatViewProcessAction executing ...");
  
  ActionContext ac = ActionContext.getContext();
  HttpServletRequest request =
   (HttpServletRequest)ac.get(ServletActionContext.HTTP_REQUEST);
  
  logger.debug("AuthType : " + request.getAuthType());
  Principal p = request.getUserPrincipal();
  
  if(p != null) {
   logger.debug("Principal : " + p.getName());
   if(p.getName().indexOf("admin") > 0) {
    result = SUCCESS;
   }
  } else {
   result = ERROR;
  }
  
  return result;
 }
}


IndexFreeAction.java


package com.test.action.view.free;

import com.opensymphony.xwork2.ActionSupport;

public class IndexFreeAction extends ActionSupport {

 public String execute() {
  
  return SUCCESS;
 }
}


IndexFreeProcessAction.java


package com.test.action.view.free;

import com.opensymphony.xwork2.ActionSupport;

public class IndexFreeProcessAction extends ActionSupport {

 public String execute() {
  
  return SUCCESS;
 }
}

 

UploadViewAction.java


package com.test.action.view.upload;

import com.opensymphony.xwork2.ActionSupport;

public class UploadViewAction extends ActionSupport {

 public String execute() {
  
  return SUCCESS;
 }
}

 

UploadViewProcessAction.java


package com.test.action.view.upload;

import java.io.File;

import com.opensymphony.xwork2.ActionSupport;

public class UploadViewProcessAction extends ActionSupport {
    private String contentType;
    private File upload;
    private String fileName;
    private String caption;

 public String getContentType() {
  return contentType;
 }

 public void setContentType(String contentType) {
  this.contentType = contentType;
 }

 public File getUpload() {
  return upload;
 }

 public void setUpload(File upload) {
  this.upload = upload;
 }

 public String getFileName() {
  return fileName;
 }

 public void setFileName(String fileName) {
  this.fileName = fileName;
 }

 public String getCaption() {
  return caption;
 }

 public void setCaption(String caption) {
  this.caption = caption;
 }
 
 public String execute() {
  
  return SUCCESS;
 } 
}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值