楼主指的扩充 是什么意思
我一般会用DynamicAction 来做
我一般会用DynamicAction 来做
解决方案 »
- 关于Java枚举
- 为什么我的NetBeans6.8中无法安装Struts2插件!!
- 请教hibernate保持连接的高效方法
- hibernate插入数据出现问题,各位大侠帮忙看看,急!
- 找不到类org.apache.xml.serialize.XMLSerializer;
- Eclipse 中的tomcat启动出问题。关闭这个工程,打开其他工程却没问题?请各位大哥指教一下
- 急!!!!
- 求教,weblogic6.1在jbuild7.0中运行license问题。
- 短信平台发送短信失败如果调用批处理重新发送
- JPA为何自己写JPQL的时候要加@Transactional
- 如何上传整个目录到服务器指定的目录
- 紧急求助!solars9需要安装mysql+tomcat+apache,求高手帮忙安装,有重谢
import javax.servlet.RequestDispatcher;
import java.util.Locale;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.RequestProcessor;
import org.apache.struts.config.ForwardConfig;
import org.apache.struts.Globals;/**
* A customized RequestProcessor that checks the user's preferred Locale
* from the request each time. If a Locale is not in the session or
* the one in the session doesn't match the request, the Locale in the
* request is set to the session.
*/
public class CustomRequestProcessor extends RequestProcessor { protected void processLocale(HttpServletRequest request,
HttpServletResponse response) { // Are we configured to select the Locale automatically?
if (!moduleConfig.getControllerConfig().getLocale()) {
return;
} // Get the Locale (if any) that is stored in the user's session
HttpSession session = request.getSession();
Locale sessionLocale = (Locale)session.getAttribute(Globals.LOCALE_KEY); // Get the user's preferred Locale from the request
Locale requestLocale = request.getLocale(); // If was never a Locale in the session or it has changed, set it
if (sessionLocale == null || (sessionLocale != requestLocale) ){
if (log.isDebugEnabled()) {
log.debug(" Setting user locale '" + requestLocale + "'");
}
// Set the new Locale into the user's session
session.setAttribute( Globals.LOCALE_KEY, requestLocale );
}
} protected boolean processPreprocess( HttpServletRequest request,
HttpServletResponse response){ boolean continueProcessing = true; // Get the name of the remote host and log it
String remoteHost = request.getRemoteHost();
log.info( "Request from host: " + remoteHost ); // Make sure the host is from one that you expect
if ( remoteHost == null || !remoteHost.startsWith( "127.") ){
// Not the localhost, so don't allow the host to access the site
continueProcessing = false; ForwardConfig config = moduleConfig.findForwardConfig("Unauthorized");
try{
response.sendRedirect( config.getPath() );
}catch( Exception ex ){
log.error( "Problem sending redirect from processPreprocess()" );
}
} return continueProcessing;
}
}
struts-config.xml
<controller
contentType="text/html;charset=GB2312"
locale="true"
nocache="true"
processorClass="org.apache.struts.action.RequestProcessor"/>
这是什么意思?什么错误处理?ActionError么?formbean本身不是已经进行了一层拦截了么
跳转控制用mapping.findForward,就这么一句话,你还想怎么做?减少具体action类中的代码,这个问题问的太没水准了吧,这要看你的实际情况了啊。
一般是把业务逻辑写到Service中,action中只是简单调用业务层的方法而已,已经简化了,你还想如何简化呢?把你的实际需求说出来让大家帮你参谋一下,你现在的这个想法首先就未必是对的。