楼主指的扩充 是什么意思
我一般会用DynamicAction 来做
我一般会用DynamicAction 来做
解决方案 »
- ssh配置出错,麻烦各位大侠看看
- 问个问题,散个小分,关于数据库信息采集方面的
- 请问EJB3.0是否可以动态映射表?
- 求职中遇到关于EJB的问题,大家一起来解决看看。
- xfire+webservive
- 请教高手关于 FTPClient
- 运行websphere过程出现以下jdbc出错
- 初学velocity碰到的一个简单的问题,VTL引用对象的方法。
- JTable焦点控制问题再问~~~~~~~~~
- 用iReport和JasperReport做出的报表,以html显示出现的异常。
- 如何上传整个目录到服务器指定的目录
- 紧急求助!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中只是简单调用业务层的方法而已,已经简化了,你还想如何简化呢?把你的实际需求说出来让大家帮你参谋一下,你现在的这个想法首先就未必是对的。