在websphere中将1.1 struts和struts-el迁移到1.2.9

时间:2013-02-28 07:41:53

标签: struts websphere struts-1 websphere-8 ibm-rad

我一直在尝试将我的网络应用从WASD 5.1迁移到RAD 8.5.1 我也使用struts-el 1.1并尝试升级到1.2.9 我使用的是websphere 8.5 Web Dynamic 3.0并且遇到了这个错误:

  

/jsp/sa/SA_Login.jsp(62,1) - > JSPG0123E:无法找到标记属性名称的标记属性信息。     在   com.ibm.ws.jsp.translator.visitor.validator.ValidateVisitor.validateCustomTagAttributeValues(ValidateVisitor.java:1395)     在   com.ibm.ws.jsp.translator.visitor.validator.ValidateVisitor.visitCustomTagStart(ValidateVisitor.java:294)     在   com.ibm.ws.jsp.translator.visitor.JspVisitor.processJspElement(JspVisitor.java:366)     在   com.ibm.ws.jsp.translator.visitor.JspVisitor.processChildren(JspVisitor.java:419)     在   com.ibm.ws.jsp.translator.visitor.JspVisitor.processJspElement(JspVisitor.java:234)     在   com.ibm.ws.jsp.translator.visitor.JspVisitor.visit(JspVisitor.java:216)     在   com.ibm.ws.jsp.translator.JspTranslator.processVisitors(JspTranslator.java:127)     在   com.ibm.ws.jsp.translator.utils.JspTranslatorUtil.translateJsp(JspTranslatorUtil.java:254)     在   com.ibm.ws.jsp.translator.utils.JspTranslatorUtil.translateJspAndCompile(JspTranslatorUtil.java:121)     在   com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.translateJsp(AbstractJSPExtensionServletWrapper.java:548)     在   com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper._checkForTranslation(AbstractJSPExtensionServletWrapper.java:465)     在   com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.checkForTranslation(AbstractJSPExtensionServletWrapper.java:294)     在   com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionProcessor.findWrapper(AbstractJSPExtensionProcessor.java:498)     在   com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionProcessor.getServletWrapper(AbstractJSPExtensionProcessor.java:338)     在   com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:965)     在   com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:1384)     在   com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:193)     在   org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)     在   org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)     在   org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)     在   org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)     在   org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)     在javax.servlet.http.HttpServlet.service(HttpServlet.java:575)at   javax.servlet.http.HttpServlet.service(HttpServlet.java:668)at at   com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1224)     在   com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:774)     在   com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:456)     在   com.ibm.ws.webcontainer.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)     在com.SecurityServlet.doFilter(SecurityServlet.java:75)     在   com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)     在   com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)     在   com.SAReqLoggerServlet.doFilter(SAReqLoggerServlet.java:62)     在   com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)     在   com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)     在   com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:928)     在   com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1025)     在   com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3748)     在   com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304)     在   com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:962)     在   com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662)     在   com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:195)     在   com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:459)     在   com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:526)     在   com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:312)     在   com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:283)     在   com.ibm.ws.ssl.channel.impl.SSLConnectionLink.determineNextChannel(SSLConnectionLink.java:1048)     在   com.ibm.ws.ssl.channel.impl.SSLConnectionLink $ MyReadCompletedCallback.complete(SSLConnectionLink.java:642)     在   com.ibm.ws.ssl.channel.impl.SSLReadServiceContext $ SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1784)     在   com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)     在   com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)     在   com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)     在com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)at at   com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)at at   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)

我的SA_Login页面包含以下代码:

<%@ include file = "../common/header.inc"%>
<html-el:javascript formName="SALoginFormBean" staticJavascript="false" dynamicJavascript="true" page="0" />
<script language="JavaScript1.2" src="../../js/xx.js"></script>
... to line 61 ...
<html-el:form  action="/SALogin.do" 
    name="SALoginFormBean"
    type="com.SALoginFormBean" 
    method="post"
    >

我的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" 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.*" buffer="16kb" errorPage="../errorpages/xyz.jsp"  %>

我的struts-config是:

<?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-bean name="SALoginFormBean" type="com.tis.web.sa.SALoginFormBean"></form-bean>    

不确定我做错了什么.. 真的很感激任何帮助 如果需要更多细节请告诉我..

1 个答案:

答案 0 :(得分:0)

基于此链接 http://wiki.apache.org/struts/StrutsUpgradeNotes11to124

您似乎需要删除html-el:form的名称和类型属性。