📄 maction.java
字号:
package com.xuntian.material.struts;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
import com.xuntian.material.bean.UserBean;
import com.xuntian.material.data.dao.Transaction;
import com.xuntian.material.exception.ConnectPoolException;
import com.xuntian.material.util.Constants;
import com.xuntian.material.util.LogUtil;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
* 写自己的action时,直接继承此action,然后扩展(add,edit,list)等等的方法就行了
*
* @author lip Mar 6, 2006 copyright@xuntian
*/
public abstract class MAction extends DispatchAction {
protected String defaultMethod;
/**
* 实例化log日志对象 调用方法: log.dubug(),log.info(),log.warn(),log.error()
*/
public static Logger log = LogUtil.getLogger(MAction.class);
protected ActionForward dispatchMethod(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response, String name) throws Exception {
if (name == null || name.equals("")) {
name = defaultMethod;
}
// befor login
String servlet = request.getServletPath();
String action = servlet.substring(1, servlet.length() - 3);
if (action.equals("Login") && name != null && name.equals("login")) {
return super.dispatchMethod(mapping, form, request, response, name);
}
// after login
UserBean user = getUser(request);
if (user == null) {
return mapping.findForward("welcome");
}
if (action.equals("Login") || action.indexOf("Common") >= 0) {
// Login action escape login method
// Common... action
return super.dispatchMethod(mapping, form, request, response, name);
}
else {
return super.dispatchMethod(mapping, form, request, response, name);
}
}
public ActionForward successForward(HttpServletRequest request,
ActionMapping mapping, String message, String url) {
request.getSession().setAttribute(Constants.FORWARD_MESSAGE, message);
request.getSession().setAttribute(Constants.FORWARD_URL, url);
return mapping.findForward(Constants.ACTION_FORWARD_SUCCESS);
}
public ActionForward warningForward(HttpServletRequest request,
ActionMapping mapping, String message) {
request.getSession().setAttribute(Constants.FORWARD_MESSAGE, message);
return mapping.findForward(Constants.ACTION_FORWARD_WARNING);
}
protected UserBean getUser(HttpServletRequest request) {
HttpSession session = request.getSession();
Object object = session.getAttribute(Constants.SESSION_USER);
if (object instanceof UserBean) {
return (UserBean) object;
} else {
return null;
}
}
public String getItemName(String itemId){
String itemName=null;
ResultSet rs;
try {
rs = Transaction.getInstance().executeQuery("SELECT item_name FROM info_item where 1=1 and item_id="+itemId,null);
while (rs.next()){
itemName=rs.getString("item_name");
}
} catch (ConnectPoolException ee) {
ee.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return itemName;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -