jcaptcha与struts的集成

时间:2010-04-14 16:49:00

标签: struts captcha

我正在尝试使用jcaptcha-1.0与struts 1.3.8应用程序进行交互;我将jcaptcha jar添加到app lib并添加了

<%@ taglib uri="jcaptcha" prefix="jcaptcha"%>

到我的表格

应用程序找不到该文件,因此我将以下内容添加到web.xml文件

<taglib-uri>jcaptcha</taglib-uri>
<taglib-location>/WEB-INF/lib/jcaptcha-1.0-all.jar</taglib-location>
</taglib>

现在我得到空指针异常:

org.apache.jasper.JasperException: Unable to read TLD "META-INF/taglib.tld" from JAR file 

任何线索?欢迎使用有关使用struts的其他验证码的建议。

由于

1 个答案:

答案 0 :(得分:2)

尝试<%@ taglib uri="http://jcaptcha.sourceforge.net" prefix="jcaptcha" %>

如果失败,请尝试<%@ taglib uri="/WEB-INF/jcaptcha.tld" prefix="jcaptcha"%>并使用以下内容在jcaptcha.tld中创建WEB-INF文件:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!--
  ~ JCaptcha, the open source java framework for captcha definition and integration
  ~ Copyright (c)  2007 jcaptcha.net. All Rights Reserved.
  ~ See the LICENSE.txt file distributed with this package.
  -->

<!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>jcaptcha-struts-taglib</shortname>
    <uri>http://jcaptcha.sourceforge.net</uri>
    <info>JCAPTCHA Taglib for the base module</info>

    <tag>
        <name>question</name>
        <tagclass>com.octo.captcha.module.struts.taglib.QuestionTag</tagclass>
        <bodycontent>empty</bodycontent>
        <info>Display the jcaptcha question for this session</info>
    </tag>
    <tag>
        <name>message</name>
        <tagclass>com.octo.captcha.module.taglib.MessageTag</tagclass>
        <bodycontent>empty</bodycontent>
        <info>Display the jcaptcha failure message for this session</info>
    </tag>
</taglib>