servlet 和 struts2 同时使用 以及 使用struts2标签库时报错

转载 2013年12月05日 17:07:15
做网页的时候 想让 servlet 和 struts 都有效。
但是在过滤的时候出了点问题:
就是 过滤器的*.action 的时候 struts 标签库失效的问题

我觉得以下是个不错的 解决方案:


The Struts dispatcher cannot be found.
This is usually caused by using Struts tags without the associated filter. Struts tags are only usable when the request has passed through its servlet filter, which initializes the Struts dispatcher needed for this tag. - [unknown location]

这是使用struts2最常见的一个错误

经过测试得知,我们在jsp页面使用struts-tag这个标签库时,
我们必须要先过action才能正确使用,不然便会报错!
报的就是上面的错误,说的是struts-tags这个标签库必须在request被通过的时候才能使用,
我们需要为struts的标签初始化,而要初始化的前提就是进入action!

所以我得到,
在我们先进入action后在跳转到jsp页面,
在jsp页面使用struts2标签时不会出错,但是如果我们直接进入jsp页面便会出错误!

有些人可能没有遇到,那是因为你在创建struts2的项目时选择的是/×,而不是*.do或者是*.action。


如果你是*.do或者*.action 的方式创建的项目,那你要这样错处理才不会出错误,当然这只是其中的一种方式:


<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>


<!-- 记住加入这个配置,不然在使用struts-tag标签会报错误 -->

<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>

也就是在web.xml中为struts2的的filter-mapping添加一个,把jsp放行,不拦截jsp


等于是你访问jsp等于是进来action,所以这样等于是为struts2-tag标签初始化,

你再去使用就不会出错误了!

如果你是直接建的是/*这种struts2的项目就不需要做这一步骤!

相关文章推荐

使用struts2标签库时报错

The Struts dispatcher cannot be found.  This is usually caused by using Struts tags without the ass...

使用struts2标签库时第一次打开报错、第二次打开不报错

一、 The Struts dispatcher cannot be found.  This is usually caused by using Struts tags without the a...

使用Struts2的标签库(一)

使用Struts2标签 Struts2的OGNL表达式语言(1)OGNL表达式语法: #bar.foo.blah(2)如果需要访问的属性属于根对象...

使用Struts2标签库

s:
  • Amen_Wu
  • Amen_Wu
  • 2017年01月04日 23:27
  • 125

Struts2标签库使用

要使用Struts2的标签,只需要在JSP页面添加如下一行定义即可: struts2的标签共分为五大类: 一、逻辑控制标签 用于进行逻辑控制输出。主要分以下几类: 1)条件标签:用于执行基...

freemarker使用struts2标签库

用freemarker作为视图,struts2作为MVC框架,出现错误。freemarker/ext/jsp/Pagecontextfactory.java,说出现了XXX错误。错如截图如下。   ...
  • EH820
  • EH820
  • 2012年04月28日 19:41
  • 1526

Struts2 -- 标签库的使用

通常,网站开发中定义完成一个页面元素时,需要考虑格式化其显示效果,否则显示页面将混乱不堪。对于数据的访问,需自实现遍历代码来完成。然而,这些格式化操作和数据访问操作我们可以使用struts2标签库来完...

Struts2中的OGNL详解(和标签库一起使用)

首先了解下OGNL的概念: OGNL是Object-Graph Navigation Language的缩写,全称为对象图导航语言,是一种功能强大的表达式语言,它通过简单一致的语法,可以任意存取...

struts2标签库的使用pdf+Word格式

  • 2010年07月25日 06:36
  • 3.37MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:servlet 和 struts2 同时使用 以及 使用struts2标签库时报错
举报原因:
原因补充:

(最多只允许输入30个字)