`
xgbjmxn
  • 浏览: 268705 次
  • 性别: Icon_minigender_1
  • 来自: 新乡
社区版块
存档分类
最新评论

about struts.devMode

阅读更多
1.
ognl.OgnlException: target is null for setProperty(null, "y", [Ljava.lang.String;@1d57c7)



     好像是我表单里面有多少个提交项后台就抛出多少对这样的异常信息。

     可是我的表单里面是没有X,Y这样的提交信息的。。。很是郁闷,而其在前期的开发中也出现过这样的异常,虽然后台抛出这样的异常,但是它不影响程序的正常运行,所以一直也就没管它。今天又苦苦寻觅了许久终于搞定了。。




原来,我提交表单的按钮是如下定义的:

<input type="image" name="Submit" value="提交" onclick="return checkpwd();" src="images/a_tj.gif"/>

只要标签里面的type="image"那么这个带图片的按钮就能提交表单,而且还能在图片上加汉字。原来以为是个好的发现。呵呵,但是今天却发现问题就处在它身上。

当我把提交的按钮换成如下定义:

<input type="submit" name="bu1" onclick="return checkpwd();"/>

好了,一切OK了。没有异常了。

上面的带图片的按钮是美工给的,因此在asp和php应该都没问题,主要是因为Struts2的问。

struts.xml文件里面有这么一个"struts.devMode"。当设为true时,html表单数据中有和action属性匹配不上的参数名时就会提示这样的信息。我试了一下,果然如此,因此在开发过程中将这个属性设为true还是不错的,可以帮我们发现一些可能出现的问题。

这个错误信息主要因为struts.devMode = true引起,因为使用struts在默认配置下对任何提交到action的参数强制需要setter方法,而我们在使用token的时候一般都没有正确的为每一个token设置该参数,为此提交的token信息就会在这里一起一些错误信息,如果需要屏蔽掉这些的话,可以设置webwork.devMode = false来避免这种错误信息的抛出,当然这些错误在程序调试的时候是有用处了,我们可以根据这些信息来删除不必要的参数

2.
如果不加
<constant name="struts.devMode" value="true" />
用http://localhost:8088/Struts2/hello可连到hello.jsp
加了就不行 为什么?
struts.xml文件如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
<constant name="struts.devMode" value="true" />
<package name="default" namespace="/" extends="struts-default">
  <action name="hello">
   <result>
    /Hello.jsp
   </result>
  </action>
</package>
</struts>

devMode模式是开发模式,开启它则默认开启了i18n.reload、configuration.xml.reload。这个错误是由于configuration.xml.reload设置为true倒导致的,网上的资料没有说明原因及解决办法,有人说这是216版本的BUG,tomcat的安装路径包含空格,可以使用更高级的版本来避免这个错误。
分享到:
评论

相关推荐

    struts.xml和struts.properties配置详解

    2. **struts.devMode**: 开发模式开关,设为`true`开启调试模式,方便开发时获取更详细的错误信息和日志。 3. **struts.i18n.locale**: 默认的语言环境,如`zh_CN`表示简体中文。 4. **struts.multipart.maxSize**: ...

    struts2的struts.properties配置文件详解

    8. struts.devMode:这是一个布尔值,用于确定Struts2是否处于开发模式。如果设置为true,Struts2将处于开发模式。 9. struts.dispatcher.parametersWorkaround:这是一个布尔值,用于确定是否使用Servlet请求参数...

    Struts课堂笔记.rar--struts2的struts.properties配置文件详解

    struts.devMode Whether Struts is in development mode or not 是否为struts开发模式 struts.dispatcher.parametersWorkaround Whether to use a Servlet request parameter workaround necessary for some ...

    struts环境配置手记

    ### Struts环境配置详解 #### 一、Struts在Eclipse中的配置步骤 **1. Eclipse的准备** - **下载地址**: [Eclipse官方网站](http://www.eclipse.org/) - Eclipse是Java开发中广泛使用的集成开发环境(IDE),提供...

    struts2的struts.properties介绍

    #### struts.devMode **含义**:控制Struts2是否处于开发模式。 **示例**:如果设置为`true`,则开启开发模式,可以启用更多的调试信息;若为`false`,则关闭开发模式。 **应用场景**:开发阶段设置为`true`,以...

    struts2属性文件struts.xml的配置

    - **`struts.devMode`**:布尔类型,表示是否开启开发模式,开启后可以实时刷新页面查看修改效果。 - **`struts.ui.theme`**:字符串类型,用于指定使用的主题样式,如simple、css_xhtml等。 #### 二、包配置 包(`...

    struts.properties配置详解

    struts.devMode=true ``` - **应用场景**:在开发阶段启用开发模式可以提高调试效率,例如提供更多的错误信息。 - **struts.i18n.reload** - **描述**:是否每次HTTP请求时都重新加载资源文件。 - **示例**:...

    truts.xml-struts.properties-详

    - **struts.devMode**:设置为`true`时,开启开发模式,会显示详细的错误信息,方便调试。 - **struts.i18n.encoding**:定义默认的字符编码,防止乱码问题。 - **struts.objectFactory**:指定对象工厂,用于创建...

    struts.xml(struts2配置)

    &lt;constant name="struts.devMode" value="true" /&gt; ``` 这将开启Struts2的开发模式,便于调试。 8. **结果类型** 结果类型定义了结果如何被渲染。默认的`dispatcher`类型会将结果视图作为HTTP响应返回。还可以...

    struts.properties文件详解

    18. `struts.devMode`: 开发模式开关,默认未指定,通常在开发环境中设置为 `true`,以启用调试信息和错误报告。 以上就是 Struts.properties 文件中主要属性的详细说明,理解并适当地配置这些属性可以有效地调整 ...

    struts.xml配置详解

    比如可以配置是否处于开发模式(struts.devMode)、设置国际化编码(struts.i18n.encoding)等。这使得开发者可以灵活地调整框架的行为,以适应不同的开发和部署环境需求。 3. 标签:Struts2框架采用包的概念来管理...

    struts.xml中constent属性参数配置大全

    **struts.devMode** - **功能**:是否开启开发模式,默认为`false`。 - **示例**:设置为`true`,则在开发模式下运行,可以看到更多的调试信息。 ##### 20. **struts.i18n.reload** - **功能**:是否在每次HTTP...

    struts.xml 配置

    &lt;constant name="struts.devMode" value="true"/&gt; ``` 在实际开发中,struts.xml的配置应当遵循模块化和可复用的原则,将相似功能的Action归类在同一包下,利用拦截器提高代码复用和灵活性。同时,合理设置常量...

    struts2配置2.5版

    &lt;constant name="struts.devMode" value="true" /&gt; &lt;package name="default" namespace="/" extends="struts-default"&gt; &lt;action name="helloworld" class="com.mytest.HelloWorldAction"&gt; &lt;result&gt; /result....

    struts.xml详细说明.doc

    `&lt;constant name="struts.devMode" value="false" /&gt;`设置Struts2的开发模式,当设为`true`时,会开启更多调试信息和错误报告。 通过以上配置,开发者能够灵活地控制Struts2框架的行为,实现不同业务逻辑的分离和...

    Struts2手动搭建所有的jar包及相应的struts.xml和web.xml

    &lt;constant name="struts.devMode" value="true" /&gt; &lt;package name="default" namespace="/" extends="struts-default"&gt; &lt;!-- Action配置 --&gt; &lt;action name="helloWorld" class="com.example.HelloWorldAction"&gt;...

    struts.xml详细配置

    &lt;constant name="struts.devMode" value="true" /&gt; ``` 7. **类型转换器**:使用`&lt;conversion&gt;`元素可以注册自定义的类型转换器,以便在处理表单数据时进行数据类型的转换。 8. **结果类型**:`&lt;result-type&gt;`...

    Struts2配置精要之常量constant配置详解(包括零配置Convention 的常量)

    这些常量定义在`struts-default.xml`和`struts-plugin.xml`等配置文件中,它们以键值对的形式存在,如`struts.objectFactory`、`struts.devMode`等。常量配置可以全局影响整个应用程序,比如设置开发模式、指定对象...

Global site tag (gtag.js) - Google Analytics