用jbuilder打一个war文件,会自动打包好一切的。

解决方案 »

  1.   

    1.jsp里可以这样用
    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
    <%@ taglib uri="/WEB-INF/struts-template.tld" prefix="template" %>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    2.那四个.tld都是struts里就有的。不用修改了,拷过去放到你的myapp/web-inf/下就可以了。
    3.web.xml中添加如下内容。
      <taglib>
        <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
        <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
      </taglib>
      <taglib>
        <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
        <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
      </taglib>
      <taglib>
        <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
        <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
      </taglib>
      <taglib>
        <taglib-uri>/WEB-INF/struts-template.tld</taglib-uri>
        <taglib-location>/WEB-INF/struts-template.tld</taglib-location>
      </taglib>
      

  2.   

    unsalted(icebird):你好!
      是这样的,我是自定义标签,我是用自己写的*.tld  Hello.jsp
      ##############################
      <%@ page contentType="text/html; charset=gb2312" language="java" %>
    <%@ taglib uri="/WEB-INF/Social_Type.tld" prefix="taglib" %>
    <html>
    <head>
    <title>Social_Type taglib</title>
    </head>
    <body>
    <td>大家好!</td>
    <taglib:Social_Type width="200" height= "100">
    </taglib:Social_Type>
    </body>
    </html>
    Social_Type.tld
    ###############################################3<?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
    <taglib>
    <tlibversion>1.0</tlibversion>
    <jspversion>1.1</jspversion>
    <shortname>Social_Type taglib</shortname>
    <tag>
     <name>Social_Type</name>
     <tagclass>interboss.Taglib.Social_Type</tagclass>
     <attribute>
              <name>height</name>
              <required>true</required>
              <rtexprvalue>true</rtexprvalue>
     </attribute>
     <attribute>
              <name>width</name>
              <required>true</required>
              <rtexprvalue>true</rtexprvalue>
     </attribute>
    </tag>
    </taglib> 
    web.xml加:###################<display-name>Social_Type taglib</display-name>
        <description>
          just a  example
        </description>
        <taglib>
            <taglib-uri>/WEB-INF/Social_Type.tld</taglib-uri>
            <taglib-location>/WEB-INF/Social_Type.tld</taglib-location>
       </taglib>Social_Type.javapackage interboss.TagLib;import java.io.*;
    import javax.servlet.jsp.*;
    import javax.servlet.jsp.tagext.*;
    import java.sql.Connection;
    import interboss.base.DBServer;
    import interboss.base.Sqlca;public class Social_Type extends TagSupport{
        private String width;
        private String height;    public Social_Type() {
            super();
        }    public int doStartTag() throws JspTagException{
            String Stype = null;
            String SNAME = null;
            String Sjsp = "<td><select name=\"idtype\"><option value=\"\"></option>";        try{
                String sSocial_type
                        = "select SOCIAL_TYPE_ID, SOCIAL_NAME from social_type where order by SOCIAL_TYPE_ID";            Connection conn = DBServer.getConnection();
                Sqlca sqlca = new Sqlca(conn);
                sqlca.setSql(sSocial_type);
                sqlca.execute();
                while(sqlca.next()){
                    Stype = sqlca.getString(1);
                    SNAME = sqlca.getString(2);
                    Sjsp = Sjsp+"<option value=\"" + Stype+ "\">" + SNAME + "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</option>";            }            Sjsp = Sjsp+"</select></td>";        }catch(Exception e){
                System.err.println("Exception thrown in sql sentence:");
                System.err.println(e.toString());
            }        try{
                JspWriter out = pageContext.getOut();
                out.println(Sjsp);
            }
            catch(IOException ioerror){
                System.err.println("IO Exception thrown in Social_Type.daStartTage():");
                System.err.println(ioerror.toString());
            }
            return SKIP_BODY;
        }    public int doEndTag() throws JspTagException{
            return EVAL_PAGE;
        }    public void release()
        {
            super.release();
        }
        public void setWidth(String width)
        {
            this.width = width;
        }
        public String getWidth()
        {
            return this.width;
        }
        public void setHeight(String height)
        {
            this.height=height;
        }
        public String getHeight()
        {
            return this.height;
        }}我运行Hello.jsp报错:
    Parsing of JSP File '/taglib/HelloWorld.jsp' failed:
    --------------------------------------------------------------------------------
     /taglib/HelloWorld.jsp(2): Error in using tag library uri='/WEB-INF/Social_Type.tld' prefix='taglib': cannot find tag class: 'interboss.Taglib.Social_Type'
    probably occurred due to an error in /taglib/HelloWorld.jsp line 2:
    <%@ taglib uri="/WEB-INF/Social_Type.tld" prefix="taglib" %> 
    --------------------------------------------------------------------------------
    Tue Aug 12 16:50:46 CST 2003 
      

  3.   

    我怀疑是包的问题,Social_Type.java中是package interboss.TagLib;而Social_Type中是<tagclass>interboss.Taglib.Social_Type</tagclass>
    把包名都改成小写试试吧。
    如果是自定义标签的话,要在自定义的*.tld(struts-user.tld)中的<tagclass></tagclass>标签中指明标签类的位置。在web.xml中加入
      <taglib>
        <taglib-uri>/WEB-INF/struts-user.tld</taglib-uri>
        <taglib-location>/WEB-INF/struts-user.tld</taglib-location>
      </taglib>
    在jsp里
    <%@ taglib uri="/WEB-INF/struts-user.tld" prefix="user" %>
    然后使用的时候就可以<user:tagname>这样用。
      

  4.   

    package interboss.TagLib;和interboss.Taglib.Social_Type中一个是TagLib,另一个是Taglib
      

  5.   

    Social_Type.tld
    ---------------
     <tagclass>interboss.Taglib.Social_Type</tagclass>
    改:
     <tagclass>interboss.TagLib.Social_Type</tagclass>
    要和你定义这个类的包名大小写一致!!!
    package interboss.TagLib;             <<-----=====