1:formbean中定义了一个私有变量Varia,jsp页面中有一个标签元素对象的id=“Varia”,结果在action中进行数据填充或取值时报错的问题:
以在action中进行取值为例:一般情况下都是通过form.getVaria() 这一句直接获取jsp页面中的id为varia的标签元素对象的value值。struts的工作原理是:根据getVaria()方法名,截取到get关键字后面的字符串Varia,然后将其第一个字母转为小写,即变成varia,然后去页面中寻找id=varia的标签对象。因此,如果我们要填充页面数据,form.setVaria("varia"),那么struts也会解析set方法名,截取其后面的字符串Varia,然后将该字符串第一个字母转为小写得到varia,然后去页面中寻找id=varia的标签对象,赋值。因此,jsp页面中的标签元素对象的id属性值的第一个字母必须小写。同时,在formbean中定义私有变量时,也要尽量遵循规范进行首字母小写,例如:private String varia是规范的,但private String Varia则是不规范的。
不知道在struts2.x的工作原理是否相同?但想想应该也差不多吧。
2:ActionForm中不能定义Date型的变量,因为jsp页面中的所有数据都是字符串型。这个问题曾经困扰了我整整半天的时间,当时是将一个字段放在表单里提交,结果表单死活不提交,也不显示到底是哪里的错。那个无语呀!
3:在HTML页面中定义各个标签元素的name、id、property等属性时,千万不要与关键字雷同,否则,页面也是死活不执行。例如:我曾经做文件上传,在表单里这样写:<input type="file" name="file" property="file" contentEditAble="false" /> ,结果表单死活无法提交!最后将属性改为name=files property=files,表单这才变成个小乖乖。
4:写js代码时,函数的命名也不能与关键字相冲突。我在做表单提交时,没有用type="submit"的按钮来提交,而是使用的普通的type="button"按钮来提交,是这样写的:<input type="button" value="提交" onclick="javascript: submit()" />,结果点击这个按钮,死活不执行submit()函数。后来经理一看,说submit是关键字,于是我将该函数名改为Submit(),就一切恢复正常了!
5:如果在页面中使用了struts的标签,而struts标签中一般都会通过一个name属性来指向后台的一个formbean,此时,例如在页面中有这样一句:
资源ID:<input type="text" name="rsrcId" value="<bean:write name='AdvSearch' property='rsrcId' />">
这里有struts标签的<bean:write>标签,如果此时后台的name为 AdvSearch的formbean中尚未声明名为该标签的property属性所指向的值rsrcId的字段,则项目将无法运行。
分享到:
相关推荐
在使用Struts1时,有几点注意事项: 1. **配置文件准确性**:struts-config.xml是Struts框架的核心配置文件,必须正确配置Action、ActionForm和ActionMapping,否则可能导致请求无法正确处理。 2. **异常处理**:...
Struts1的学习资料通常会涵盖以下几个核心知识点: 1. **MVC模式**:MVC模式是软件工程中的一种设计模式,用于分离业务逻辑、数据模型和用户界面。在Struts1中,Action类代表Controller,它接收用户请求并调用业务...
搭建Struts 1.x环境的步骤通常包括以下几点: 1. 将这些jar包添加到你的项目类路径中。 2. 创建`struts-config.xml`配置文件,定义Action、ActionMapping、Form Beans等。 3. 编写Action类,处理业务逻辑。 4. 创建...
此外,值得注意的是,虽然Struts1在Java Web开发中有着广泛的使用历史,但它已经逐渐被更新的框架如Spring MVC和Struts2所取代。不过,理解Struts1的基础对于理解其他MVC框架的运作机制仍然大有裨益。通过实践这个...
### Struts1 实现文件上传的关键技术点 在Struts1框架中实现文件上传功能是一项常见但又具有一定技术挑战的任务。下面将详细解析文件上传的实现过程,包括关键类的使用、文件处理逻辑以及异常处理等方面。 #### ...
以上几点对比清晰地展现了Struts1和Struts2在设计哲学和技术实现上的不同之处。Struts2在多个方面进行了改进和优化,旨在提高开发效率、增强代码可读性和可维护性。对于现代Web应用而言,Struts2提供了更为先进的...
在使用Struts Legacy时,开发者需要注意以下几点: 1. **文档和教程**:虽然Struts 2本身有丰富的文档和教程,但Struts Legacy的相关资料可能较少。因此,理解Struts 1和Struts 2之间的差异以及如何在两者之间建立...
本文将详细讲解在Struts2中使用JSON时需要注意的几个关键点。 首先,为了使Struts2能够支持JSON,我们需要引入一系列的依赖库。这些库包括`struts2-json-plugin-2.1.8.1.jar`,它是Struts2的JSON插件;`json-lib-...
使用Struts2漏洞检查工具2017版时,管理员需要注意以下几点: 1. **权限管理**:确保只有授权人员能使用此工具,避免误操作或恶意使用。 2. **更新及时**:定期更新工具,以覆盖最新的漏洞知识库。 3. **安全策略...
使用Struts2.0.14官方jar包进行开发时,开发者需要注意以下几点: 1. 配置环境:确保项目中引入了所有必需的jar包,并正确配置了web.xml文件以启动Struts2过滤器。 2. 设计Action:根据业务需求创建Action类,实现...
使用Struts1.3.10时,开发者需要注意以下几点: 1. **配置文件**:必须正确配置struts-config.xml,包括Action、Form Bean、Action Mapping等。 2. **版本兼容性**:确保使用的其他库(如Hibernate、Spring等)与...
使用Struts 1.1和JDBC驱动进行数据库操作时,还需要注意以下几点: 1. 数据库连接的关闭:在完成数据库操作后,应及时关闭Statement和ResultSet,以释放数据库资源。 2. 防止SQL注入:确保用户输入的数据经过验证和...
在Struts 2.3.4版本中,有几个关键知识点值得深入理解: 1. **Action类与结果**:Struts 2 中的核心是 Action 类,它是处理用户请求的业务逻辑中心。Action 类执行相应的操作并返回一个结果,这个结果可以是一个...
在实际开发中,使用Struts 1.2.7时,开发者需要注意以下几点: 1. 安全性:Struts 1在后期被发现存在多个安全漏洞,例如著名的CVE-2017-5638“Apache Struts2 S2-045”,因此在使用旧版本时要特别关注安全更新。 2. ...
在基于Struts2的留言板系统中,我们主要会涉及到以下几个关键知识点: 1. **Struts2框架**: Struts2是Apache软件基金会的一个开源项目,它是Struts1的后续版本,提供了更丰富的功能和更好的性能。它通过拦截器实现...
在使用 Struts 1.3.8 开发 web 应用时,开发者需要注意以下几点: 1. **正确配置 struts-config.xml**:这是 Struts 应用的关键,需要明确指定 Actions、Forms、以及数据源等。 2. **数据验证**:使用 ActionForm ...
使用Struts2框架时,开发者需要注意以下关键知识点: - **Action**:Action是业务逻辑的载体,它是用户请求的处理者,负责接收请求、处理数据并返回结果。 - **Interceptor**:拦截器是Struts2的一大特色,它们在...
在升级Struts 2的jar包时,开发者需要注意以下几点: 1. **备份原有配置**:在升级前,应备份原有的Struts配置文件,以防新版本有重大变动导致配置不兼容。 2. **阅读发布说明**:仔细阅读官方发布的升级指南和...
在使用Struts2.5时,开发者需要注意以下关键点: - **安全性**:Struts2框架曾曝出过严重安全漏洞,如CVE-2017-5638(S2-045),因此及时更新到最新版本以防止攻击至关重要。 - **拦截器**:拦截器是Struts2的核心...
在使用Struts2.3.16.3进行SSH整合开发时,开发者需要注意以下几点: 1. 配置Struts2的主配置文件`struts.xml`,声明Action和对应的视图结果。 2. 创建Spring的配置文件,定义bean并进行依赖注入。 3. 使用Hibernate...