问题暗示 . 在RAD / eclipse中使用动态Web 3.0项目时,在websphere 8.5.1中部署库struts 1.2.9会不会有任何冲突原因是我正在使用struts 1.1从websphere 5.1迁移,但是想知道我是否愿意如果我进行此迁移,会遇到任何困难 .

干杯 .

我收到以下错误:

javax.servlet.jsp.JspException:在org.apache.struts.taglib的org.apache.struts.taglib.html.JavascriptValidatorTag.renderJavascript(JavascriptValidatorTag.java:384)的区域设置'en_US'中的'SAChangeSecretQAsFormBean'下找不到任何表格.html.JavascriptValidatorTag.doStartTag(JavascriptValidatorTag.java:349)atg.apache.strutsel.taglib.html.ELJavascriptValidatorTag.doStartTag(ELJavascriptValidatorTag.java:218)at com.ibm._jsp._SA_5F_SecretQuestions._jspx_meth_html $ 1el_javascript_0(_SA_5F_SecretQuestions.java :304)at com.ibm._jsp._SA_5F_SecretQuestions._jspService(_SA_5F_SecretQuestions.java:140)at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:99)at javax.servlet.http.HttpServlet . 服务(HttpServlet.java:668)位于com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1224)的com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:774)在com的com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:456)位于com.ibm.ws.jsp.webcontainerext的com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:122)上的.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178) .AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:216)位于com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:136)com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java) :79)com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:928)位于com.ibm的com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1025) . 位于org.apache.struts.action.RequestProcessor.doForward的com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:193)中的ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:1384) RequestProcessor.java:1085)org.apache.str ug.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)org.apache.struts.action.ActionServlet.process(ActionServlet.java: 1196)在javax.servlet.http.HttpServlet.service(HttpServv . .java:668)com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1224)at com的com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:774) . 位于com.ibm.ws.webcontainer.filter的com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)中的ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:456) . 位于com.ibm.ws.webcontainer.fi的com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:79)中的WebAppFilterChain.invokeTarget(WebAppFilterChain.java:136) lter.WebAppFilterManager.doFilter(WebAppFilterManager.java:928)位于com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1025)的com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher . java:1384)位于org.apache.struts的org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)的com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:193) .action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) )位于javax.servlet.http.HttpServlet.service(HttpServlet.java:575)的org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414),位于javax.servlet.http.HttpServlet.service(HttpServlet . java:668)at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1224)at atcom.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:774)位于com.ibm.ws.webcontainer的com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:456) . servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)位于com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:136)的com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain . java:97)at com.web.sa.SecurityServlet.doFilter(SecurityServlet.java:75)at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)at com.ibm.ws.webcontainer .filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)位于com.web.sa.SAReqLoggerServlet.doFilter(SAReqLoggerServlet.java:62)的com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)来自com.ibm.ws.webcontainer.filter.WebAppFil的com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91) . terManager.doFilter(WebAppFilterManager.java:928)位于com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1025)的com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java: 87)com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:895)位于com.ibm.ws.webcontainer.channel的com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662) .WCChannelLink.ready(WCChannelLink.java:195)位于com.ibm.ws.http.channel.inbound.impl的com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:459) .httpInboundLink.handleNewRequest(HttpInboundLink.java:526)位于com.ibm.ws.http.channel.inbound.impl的com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:312) .httpInboundLink.ready(HttpInboundLink.java:283)位于com.ibm.ws.ssl.channel.imp的com.ibm.ws.ssl.channel.impl.SSLConnectionLink.determineNextChannel(SSLConnectionLink.java:1048) l.SSLConnectionLink.readyInboundPostHandshake(SSLConnectionLink.java:716)位于com.ibm.ws.ssl.channel.impl的com.ibm.ws.ssl.channel.impl.SSLConnectionLink $ MyHandshakeCompletedCallback.complete(SSLConnectionLink.java:412) . 位于com.ibm.ws.ssl.channel.impl.SSLHandshakeIOCallback.complete(SSLHandshakeIOCallback.java:87)的SSLUtils.handleHandshake(SSLUtils.java:1066)位于com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted( AioReadCompletionListener.java:165)com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)com.ibm.io上的com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) .async.AsyncFuture.completed(AsyncFuture.java:138)位于com.ibm.io.async.Rsult完整(ResultHandler.java:204)com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775) )com.ibm.io.async.ResultHandler $ 2.run(ResultHandler.java:905)at com.ibm.ws.util.ThreadPool $ Worker.run(ThreadPool.java:1814)

但表单在源代码中:web \ src \ com \ web \ sa \ SAChangeSecretQAsFormBean.java

我的web配置:web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp" version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
...
    <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
        <param-name>config</param-name>
        <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
        <param-name>config/jsp/sa</param-name>
        <param-value>/WEB-INF/struts-config-sa.xml</param-value>
    </init-param>
...
        <load-on-startup>2</load-on-startup>
</servlet>
...
</web-app>

我的sturts配置是:struts-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
                               "struts-config_1_2.dtd">
<struts-config>
    <!-- Data Sources -->
    <data-sources></data-sources>

    <!-- Form Beans -->
    <form-beans>
...
        <form-bean name="SAChangeSecretQAsFormBean" type="com.web.sa.SAChangeSecretQAsFormBean"></form-bean>
...
</form-beans>
...
</struts-config>

的struts-config-sa.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
                               "struts-config_1_2.dtd">

<struts-config>
...
    <form-beans>
...
    <form-bean name="SAChangeSecretQAsFormBean" type="com.web.sa.SAChangeSecretQAsFormBean"></form-bean>
...
    </form-beans>
...
    <action-mappings>
...
    <action path="/SAChangeSecretQAs" 
            name="SAChangeSecretQAsFormBean" 
            type="com.web.sa.SAChangeSecretQAsAction" scope="session" input="success">
        <forward name="success" path="jsp/sa/SA_SecretQuestions.jsp"></forward>
        <forward name="logout" path="jsp/sa/SALogout.do?buttonPressed=logout&amp;CASE_FORWARD=YES"></forward>
        <forward name="access" path="jsp/sa/SAAccessDetails.do?CASE_FORWARD=YES"></forward>
    </action>
...
    </action-mappings>
</struts-config>

SAChangeSecretQAsFormBean.java

package com.web.common;

public class SAChangeSecretQAsFormBean extends ValidatorForm
{
...
}

SAChangeSecretQAsAction.java

package com.web.sa;
public class SAChangeSecretQAsAction extends Action
{
    public ActionForward executeAction(
                    ActionMapping mapping,
                    ActionForm form,
                    HttpServletRequest req,
                    HttpServletResponse res)
                    throws IOException, ServletException
    {
...
    }
...
}

SA_SecretQuestions.jsp

<%@ include file = "../common/header.inc"%>
<%
  try {
      %>
<html-el:javascript formName="SAChangeSecretQAsFormBean" staticJavascript="false" dynamicJavascript="true" page="0" />
      <%
  }
  catch (Exception x) {
    x.printStackTrace();
  }
%>

header.inc

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ taglib uri="../../WEB-INF/struts-html-el.tld" prefix="html-el" %>
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt" %>
<%@ taglib uri="../../WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="../../WEB-INF/struts-logic-el.tld" prefix="logic-el" %>
<%@ page import ="com.constant.*" buffer="16kb" errorPage="../errorpages/GenericErrorPage.jsp"  %>

<%String cacheReq=null;%>

<html-el:base/>
<html> 
<HEAD>

如果缺少任何其他信息,请告诉..谢谢