介绍

在Struts 2 web应用程序的开发过程中,您可能希望查看由Struts 2框架管理的信息。本教程将介绍两种工具,您可以使用它们来查看。一个工具是Struts 2的配置插件,另一个是调试拦截器。本文还讨论了如何设置日志级别以查看更多或更少的日志消息。

贴个本帖的地址,以免被爬:struts2官方 中文教程 系列九:Debugging Struts 即 http://www.cnblogs.com/linghaoxinpian/p/6916619.html

下载本章节代码

Configuration Plugin(配置插件)

Struts 2配置浏览器插件提供了关于运行程序的配置的详细信息。使用这个插件我们需要引入  struts2-config-browser-plugin-x.x.x.x.jar

在第一章的时候,我们用的是min包,这次我们下载解压完整的包

在index.jsp中添加如下内容

<!--浏览器插件-->
<hr>
<a href='<s:url action="index" namespace="config-browser" />'>Launch the configuration browser</a>

运行如下

您可以单击链接来查看该操作的配置。例如,单击register动作链接会

在页面的左侧是配置浏览器插件菜单。点击constants将呈现一个视图,列出所有的 Struts 2 常数和它们设置您的应用程序的属性的值。点击Jar显示应用程序正在使用的jar。

使用拦截器(Debugging Interceptor)

If you have set devMode to true (in the example application see struts.xml) then one of the interceptors that is activated when Struts 2 processes an action is the DebuggingInterceptor.

如果您已经将devMode设置为true(在Struts.xml文件中),然后当Struts 2处理一个action时,拦截器将被激活,这就是调试拦截器(DebuggingInterceptor)。拦截器将查找附加到URL上的查询字符串,该字符串具有调试的名称和xml、控制台、命令或浏览器。

如果调试器发现了这个查询字符串,那么它将停止执行该操作,并返回到浏览器调试信息。返回信息的格式取决于拦截器找到的查询参数的值。更多的细节请参见DebuggingInterceptor

我们修改上面代码

index.jsp

<!--浏览器插件-->
<hr>
<a href='<s:url action="index" namespace="config-browser" />'>Launch the configuration browser</a>

修改为:

    <!--浏览器插件-->
<hr>
<a href='<s:url action="index" namespace="">
<s:param name="debug">browser</s:param>
</s:url>
'>Launch the configuration browser</a>

这是带参数的url标签,忘记的回去复习,运行如下

在index.jsp中有一个链接显示debugging 信息。该链接包括查询字符串debug=browser。如果单击此链接,您将看到一个可以展开并折叠的列的表。这个表包含了各种对象和由Struts 2框架管理的状态。

Note that to enable the correct display and interaction of the expand/collapse links on the debugging information web page you need to include the s:head tag in your JSP’s head section (see index.jsp in the example application) and also include the Struts 2 dojo plugin in your application’s class path. The Struts 2 dojo plugin is available as part of the Struts 2 download and from the Maven repository.

不是很懂什么意思。dojo在包里并没有找到

总结

使用配置浏览器插件和调试拦截器可以帮助您解决Struts 2 web应用程序的问题。这些工具只应该用于开发。在创建用于部署到生产的war文件之前,您应该将devmode更改为false,并删除调试链接。您可能还希望将日志属性文件中的日志记录级别调整到一个更高的级别(信息或警告),以减少日志消息的数量。

struts2官方 中文教程 系列九:Debugging Struts的更多相关文章

  1. struts2官方 中文教程 系列十:Form标签

    介绍 在本教程中,我们将探索其他Struts 2表单控件.在前面的教程中,我们介绍了如何使用Struts 2表单(处理表单.表单验证和消息资源文件),我们介绍了如何使用Struts 2 head, f ...

  2. struts2官方 中文教程 系列十四:主题Theme

    介绍 当您使用一个Struts 2标签时,例如 <s:select ..../>  在您的web页面中,Struts 2框架会生成HTML,它会显示外观并控制select控件的布局.样式和 ...

  3. struts2官方 中文教程 系列十三:利用通配符选择方法

    介绍 在本教程中,我们将介绍如何在struts.xml中配置action节点以达到仅使用一个action节点将几个不同的url关联到特定action类的特定方法.这样做的目的是减少struts.xml ...

  4. struts2官方 中文教程 系列十二:控制标签

    介绍 struts2有一些控制语句的标签,本教程中我们将讨论如何使用 if 和iterator 标签.更多的控制标签可以参见 tags reference. 到此我们新建一个struts2 web 项 ...

  5. struts2官方 中文教程 系列十一:使用XML进行表单验证

    在本教程中,我们将讨论如何使用Struts 2的XML验证方法来验证表单字段中用户的输入.在前面的教程中,我们讨论了在Action类中使用validate方法验证用户的输入.使用单独的XML验证文件让 ...

  6. struts2官方 中文教程 系列八:异常处理

    在本教程中,我们将探讨如何启用Struts 2框架处理web应用程序生成的任何未捕获的异常.Struts 2提供了健壮的异常处理,包括能够自动记录任何未捕获的异常,并将用户重定向到错误web页面. 贴 ...

  7. struts2官方 中文教程 系列七:消息资源文件

    介绍 在本教程中,我们将探索使用Struts 2消息资源功能(也称为 resource bundles 资源绑定).消息资源提供了一种简单的方法,可以将文本放在一个视图页面中,通过应用程序,创建表单字 ...

  8. struts2官方 中文教程 系列五:处理表单

    先贴个本帖的地址,免得其它网站被爬去了struts2教程 官方系列五:处理表单  即 http://www.cnblogs.com/linghaoxinpian/p/6906298.html 下载本章 ...

  9. struts2官方 中文教程 系列三:使用struts2 标签 tag

    避免被爬,先贴上本帖地址:struts2 官方系列教程一:使用struts2 标签 tag http://www.cnblogs.com/linghaoxinpian/p/6901316.html 本 ...

随机推荐

  1. 设计模式——外观模式(FacadePattern)

    外观模式:为子系统中的一组接口提供一个一致的界面,次模式定义了一个高层接口,这个接口使得这一子系统更加容易使用. UML图: 外观类: package com.cnblog.clarck; /** * ...

  2. Echarts横坐标倾斜,顶部显示数字

    最近项目使用到Echarts,所以学习了下 根据API,实现Echarts很简单,在这就不多说了,下面就说说项目中碰到的一些需求 1.由于横坐标很多,导致数据不能展示完整,所以需要设置横坐标样式倾斜展 ...

  3. UVA 12333 大数,字典树

    题意:给一个数字,看他最小是第几个菲波那切数列的前缀. 分析: 大数模板就是吊哦. 将菲波那切数列前500个数字放到字典树上.注意插入的时候不能像普通一样,只在尾节点处标记,而是一路标记下去. #in ...

  4. [19/03/21-星期四] 异常(Exception) (一)

    一.引言 在实际工作中,我们遇到的情况不可能是非常完美的.比如:你写的某个模块,用户输入不一定符合你的要求;你的程序要打开某个文件, 这个文件可能不存在或者文件格式不对 ,你要读取数据库的数据,数据可 ...

  5. WSASocket()与Socket()的区别 转

    /**************************************************** WSASocket是Windows专用,支持异步操作:socket是unix标准,只能同步操 ...

  6. c语言描述的二叉树的基本操作(层序遍历,递归,非递归遍历)

    #include<stdio.h> #include<stdlib.h> #define OK 1 #define ERROR 0 #define TRUE 1 #define ...

  7. c语言描述的快速排序法

    #include<stdio.h> #include<stdlib.h> void QuikSort(int a[],int m,int n){ //第一个数作为关键字,比他大 ...

  8. 移动端flex自适应方案。(px to rem)

    define(function (require, exports, module) { exports.mobileUtilMethod = function () { (function (e, ...

  9. 史上最简单的SpringCloud教程 | 第三篇: 服务消费者(Feign)(Finchley版本)

    转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springcloud/2018/08/30/sc-f3-feign/ 本文出自方志朋的博客 上一篇文章,讲述了如 ...

  10. SpringBoot非官方教程 | 第十九篇: 验证表单信息

    转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springboot19/ 本文出自方志朋的博客 这篇文篇主要简述如何 ...