jsp中的警告:在Java Build Path中找不到“s:form”(org.apache.struts2.views.jsp.ui.FormTag)的标记处理程序类

时间:2015-07-20 05:23:11

标签: java eclipse spring jsp struts2

我无法在日食中解决警告 s:form (org.apache.struts2.views.jsp.ui.FormTag)

上找不到Java Build Path的代码处理程序类

我已将struts2-core-2.3.24.jar以及standard.jarjstl.jar添加到WEB-INF/libbuild path

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@ taglib prefix="s" uri="/struts-tags"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    "http://www.w3.org/TR/html4/loose.dtd">

    <html>
    <head>
         <title>Hello World</title>
    </head>
    <body>

    <h1>Hello World From Struts2 - Spring integration</h1>

    <s:form>
         <s:textfield name="firstName" label="First Name"/><br/>
         <s:textfield name="lastName" label="Last Name"/><br/>
    </s:form>

</body>
</html>

4 个答案:

答案 0 :(得分:1)

您是否已将<%@ taglib prefix="s" uri="/struts-tags"%>添加到jsp

classpath中缺少关联的代码类或struts2中有classpath个版本时,可能会发生这种情况。将所有struts2个相关内容放在WEB-INF/lib文件夹中,并从jar中删除不必要的lib个文件。

最后,Cleanup classpath和重做Apache's拥有struts2个文档。

编辑:

Integrating Struts2 with Spring step by step

link

link

答案 1 :(得分:1)

If u are using Eclipse, try delete ' prefix="s" ', then press 'save', then add ' prefix="s" ' back again and press 'save'

答案 2 :(得分:0)

我在运行简单的strut2示例时遇到了很多困难,这完全是因为 配置问题。在运行struts2应用程序之前,我想分享一些我们需要注意的要点

  1. 文件夹结构和配置文件的放置

    • 确保你的struts.xml在src(源文件夹)下,编译后将移动到classes文件夹
    • Web.xml应位于Webcontent / WEB-INF文件夹
  2. 您应该将以下jar添加到lib文件夹(版本可能会有所不同)

    • 共享记录-1.0.4.jar
    • 的freemarker-2.3.8.jar
    • OGNL-2.6.11.jar
    • struts2的核 - 2.0.11.jar
    • XWork的-2.0.4.jar
  3. 您的index.jsp和其他JSPS文件位于Webcontent文件夹

    • 我仍然在很长一段时间内收到404错误并继续在网上搜索解决方案,但没有找到合适的解决方案。

    • 对我来说,解决办法是删除以下内容(我在互联网上看到一些建议后添加)

  4. 在标签下的web.xml中添加init-param       配置       在struts-default.xml中,在struts-plugin.xml中,.. / struts.xml中     

    • 当您将struts.xml保存在不同的位置,然后实际在上面的行中指定它时,此语句是必需的。

    • 我的Java类是使用ActionSupport类扩展的,我观察了你是否放了 在我的情况下,它至少不会产生任何差异。理想情况下它应该有所不同(不确定原因)

  5. 最重要的是 我在几个网站上看到过建议以下

  6. 的建议
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    

    它根本不适用于我

    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
    
    </filter>
    

    最后一点是确保使用所有引用(lins)更新构建路径。

答案 3 :(得分:-1)

let textView = TextView()//Init your textview and assign attributedString and other properties you want.
textView.didTouchedLink = { (url,tapRange,point) in
//here goes your other logic for successfull URL location
}