📄 defaultaction.java
字号:
/*
*/
package com.sslexplorer.core.actions;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.Globals;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessages;
import com.sslexplorer.boot.ContextHolder;
import com.sslexplorer.core.CoreUtil;
import com.sslexplorer.security.Constants;
import com.sslexplorer.security.SessionInfo;
/**
* Default {@link com.sslexplorer.core.actions.CoreAction} implementation that
* extends the default struts {@link org.apache.struts.action.Action}. All
* visitors may use these actions (there is no logon requirement or restriction
* testing).
*
* @author Brett Smith <a href="mailto: brett@3sp.com"><brett@3sp.com></a>
* @version $Revision: 1.12 $
*/
public abstract class DefaultAction extends Action implements CoreAction {
/*
* (non-Javadoc)
*
* @see org.apache.struts.action.Action#execute(org.apache.struts.action.ActionMapping,
* org.apache.struts.action.ActionForm,
* javax.servlet.http.HttpServletRequest,
* javax.servlet.http.HttpServletResponse)
*/
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
throws Exception {
ActionForward fwd = checkIntercept(mapping, request, response);
if (fwd == null) {
if (isInstallMode()) {
if ((getNavigationContext(mapping, form, request, response) & SessionInfo.SETUP_CONSOLE_CONTEXT) == 0) {
return mapping.findForward("setup");
}
}
checkForVPNMessages(request);
fwd = super.execute(mapping, form, request, response);
if(fwd == null) {
fwd = mapping.findForward("display");
}
}
return fwd;
}
/**
* Get if the server is in install mode.
*
* @return in install mode
*/
public boolean isInstallMode() {
return ContextHolder.getContext().isSetupMode();
}
/**
* Check whether there are any page intercepts queue. The forward
* will be returned if there are, otherwise <code>null</code>.
*
* @param mapping mapping
* @param request request
* @param response response
* @return forward forward
* @throws Exception on any error
*/
public ActionForward checkIntercept(ActionMapping mapping, HttpServletRequest request, HttpServletResponse response)
throws Exception {
return CoreUtil.checkIntercept(this, mapping, request, response);
}
/**
* Check whether there are any VPN client messages to add
*
* @param request request
*/
protected void checkForVPNMessages(HttpServletRequest request) {
CoreUtil.addVPNClientErrors(request, CoreUtil.checkForVPNErrors(this, request));
CoreUtil.addVPNClientMessages(request, CoreUtil.checkForVPNMessages(this, request));
}
/**
* Add request warnings
*
* @param request request
* @param warnings warnings
*/
protected void addWarnings(HttpServletRequest request, ActionMessages warnings) {
CoreUtil.addWarnings(request, warnings);
}
/**
* Get the current warnings, creating them if none exists
*
* @return the warnings that already exist in the request, or a new ActionMessages object if empty.
* @param request The servlet request we are processing
*/
protected ActionMessages getWarnings(HttpServletRequest request) {
return CoreUtil.getWarnings(request);
}
/**
* Save the specified warnings messages.
*
* @param request request
* @param warnings warnings
*/
protected void saveWarnings(HttpServletRequest request, ActionMessages warnings) {
CoreUtil.saveWarnings(request, warnings);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -