按着教材 打了个helloapp的struts入门程序 可struts标签老是加载不了
鼠标移到jsp里用到标签的地方 就会提示(Unknown tag)(下面都是用黄线标着的)我的配置是:eclipse3.2+myEclipse5.0+Jboss4.0.4GA
1.jsp是这么写的
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib  uri="/WEB-INF/struts-logic.tld" prefix="logic"%> 
<%@ taglib  uri="/WEB-INF/struts-bean.tld" prefix="bean"%> 
<%@ taglib  uri="/WEB-INF/struts-html.tld" prefix="html"%> <html:html locale="true">
  <head>
    <title><bean:message key="hello.jsp.title"/></title>
    <html:base/>
  </head>
  
  <body bgcolor="white"><p>
  <h2><bean:message key="hello.jsp.page.heading"/></h2><p>
  <html:errors/><p>
  
  <logic:present name="personbean" scope="request">
  <h2>
  <bean:message key="hello.jsp.page.hello"/>
  <bean:write name="personbean" property="userName"/>!<p>
  </h2>
  </logic:present><html:form action="/HelloWorld.do" focus="userName">
<bean:message key="hello.jsp.prompt.person"/>
<html:text property="userName" size="16" maxlength="16"/><br>
<html:submit property="submit" value="Submit"/>
<html:reset/></html:form><br></body>
</html:html>2.web.xml是这样的
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems,Inc.//DTD Web Application 2.2//EN" 
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app> 
<display-name>helloapp Struts Application</display-name>
   
    <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>
   
   
    <load-on-startup>2</load-on-startup>
  </servlet>
  
   
  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping><welcome-file-list>
<welcome-file>hello.jsp</welcome-file>
</welcome-file-list><taglib>
<taglib-uri>/WEB-INF/struts-html</taglib-uri>
<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
</taglib><taglib>
  <taglib-uri>/WEB-INF/struts-bean</taglib-uri> 
  <taglib-location>/WEB-INF/struts-bean.tld</taglib-location> 
  </taglib> <taglib>
<taglib-uri>/WEB-INF/struts-logic</taglib-uri>
<taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
</taglib></web-app>
3.需要的tld都放到了WEB-INF下 项目的lib里也有需要用到的那些jar包
郁闷啊 折腾了一下午拉~~请大家拯救一下我~~~~~~~

解决方案 »

  1.   

    在web.xml里注册的标签的时候先加<jsp-config></jsp-config>应该可以了
      

  2.   

    应该这样写
    <%@ taglib  uri="/WEB-INF/struts-logic" prefix="logic"%> 
    <%@ taglib  uri="/WEB-INF/struts-bean" prefix="bean"%> 
    <%@ taglib  uri="/WEB-INF/struts-html" prefix="html"%>
      

  3.   

    上面的方法都没用啊  
    一觉醒来..居然tag的错误都没了...
    不过运行的时候还会有错误 
    type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Unable to load class for JSP
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    root cause org.apache.jasper.JasperException: Unable to load class for JSP
    org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:598)
    org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:147)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:315)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    root cause java.lang.ClassNotFoundException: org.apache.jsp.hello_jsp
    java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    java.security.AccessController.doPrivileged(Native Method)
    java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:133)
    org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:65)
    org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:596)
    org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:147)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:315)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)请大家帮帮忙啊
      

  4.   

    打开你要加载的文件,找有一个 
     <shortname>html</shortname>
    <uri>http://struts.apache.org/tags-html</uri>页面上这样写就对了  
    <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
      

  5.   

    有时候xml里的代码就是这样的,报错,但也没什么错的.你删除一个空行也许它就又好了
      

  6.   

    打开你要加载的文件,找有一个 
     <shortname>html</shortname>
    <uri>http://struts.apache.org/tags-html</uri>页面上这样写就对了  
    <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
    什么意思啊?  什么是要加载的文件..
    现在暂时没tag的事情了 
    就是怎么照着书写的..就是调不通 哎 错误一堆一堆的
      

  7.   

    那个页面是找到了 
    不过写上<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
    以后说<是错误..