1、ActionForm中的属性必须在<html:form></html:form>块中输出
struts-config.xml文件配置:
<form-beans>
<form-bean name="TestForm" type="yhp.test.struts.TestForm" />
</form-beans>
<action-mappings>
<action input="/test/teststruts.jsp" name="TestForm" path="/test/teststruts" scope="request" type="yhp.test.struts.TestAction" validate="false">
<forward name="success" path="/test/teststruts.jsp" />
</action>
</action-mappings>
TestForm.java文件(两个属性):
package yhp.test.struts;
import org.apache.struts.action.*;
public class TestForm extends ActionForm{
private String message;
private String data;
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
TestAction.java文件:
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) throws Exception {
if(actionForm instanceof TestForm){
TestForm form=(TestForm)actionForm;
form.setMessage("Test Struts!");
form.setData("Return data is YHP");
}
return actionMapping.findForward("success");
}
teststruts.jsp文件:
<%@ page contentType="text/html; charset=GBK" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<%
String contextPath = request.getContextPath();
response.setLocale(java.util.Locale.CHINA);
%>
<html>
<head>
</head>
<body>
<html:form action="/test/teststruts.do" styleId="formItem" method="post">
<html:text property="message"/><br>
<html:text property="data"/><br>
</html:form>
</body>
</html>
说明:没有红色部分代码,后台会报出Cannot find bean org.apache.struts.taglib.html.BEAN in any scope的错误信息。这样说明struts中ActionForm的数据是基于html中对应form的数据。
2、不利用struts标签输出ActionForm的属性值
<%@ page import="yhp.test.struts.TestForm"%>
<%
TestForm form=(TestForm)request.getAttribute("TestForm");//ActionForm类名
%>
<html>
<head>
</head>
<body>
<html:form action="/test/teststruts.do" styleId="formItem" method="post">
<html:text property="message"/><br>
<html:text property="data"/><br>
<%=form.getMessage()%><br>
</html:form>
</body>
</html>
3、通过JSTL输出ActionForm中的属性值
利用JSTL输出AcitonForm中的属性值:<c:out value="${TestForm.data}" /><br>
利用JSTL输出AcitonForm中的属性值:<c:out value="${requestScope.TestForm.data}" /><br>
红色的字是ActionForm类名,两句的结果是一样的
说明:struts把ActionForm写入了requestScope中,类名作为requestScope的名字。
即:httpServletRequest.setAttribute("TestForm",actionForm);
<c:out value="${requestScope.TestForm.data}" /> 也就是输出一个bean的属性值。
分享到:
相关推荐
4. **设计JSP页面**:在视图层使用Struts的标签和JSTL的标签共同构建动态页面,如使用`<s:form>`和`<s:submit>`处理表单,用JSTL标签处理逻辑和数据展示。 **总结** Struts与JSTL的结合,使得Java Web开发更加高效...
2. **JSTL(JavaServer Pages Standard Tag Library)**:JSTL是一组用于JSP的标签库,旨在减少在页面中使用Java脚本。它包含多个核心标签集,如fmt(格式化标签)、fn(函数标签)、sql(SQL标签)、xml(XML处理...
本项目“运用JSP+Struts+JSTL技术的MVC架构,数据库采用SQL Server留言本”就是一个典型的MVC应用实例,它结合了多种技术来创建一个基于Web的留言系统。 首先,JSP(JavaServer Pages)是Java平台上的动态网页技术...
首先,JSTL是一个标准的标签库,它为JavaServer Pages(JSP)提供了丰富的标签集,用于简化JSP页面的编写。JSTL的主要目标是减少JSP页面中的脚本元素,提高代码的可读性和可维护性。JSTL包含多个核心标签,如迭代、...
- 在 MVC 框架中,如 Struts、Spring MVC 或 JSF,JSTL 可作为视图层的一部分。 通过 JSTL 中文帮助文档,开发者可以详细了解每个标签的功能、用法和示例,从而更好地掌握 JSTL,提升开发效率。学习和使用 JSTL,...
数据库jar包文件、jstl和struts包是Java Web开发中的重要组成部分,它们在构建高效、可扩展的Web应用程序中扮演着关键角色。这里我们将深入探讨这些组件以及它们在实际应用中的作用。 首先,MySQL和SQLServer是两种...
JSTL 1.1.2是该库的一个版本,它包含了多种实用的标签,广泛应用于Web应用开发,特别是与Struts等MVC框架配合使用时。 **JSTL的主要组成部分:** 1. **Core(核心)标签库**:提供基本的控制流和数据处理功能,如...
7. **JSTL与Struts、Spring MVC等框架的集成** JSTL可以与其他MVC框架结合使用,提供更丰富的视图处理能力。 8. **最佳实践** - 保持JSP页面轻量级,尽量避免在页面中写入过多的Java代码。 - 使用EL表达式减少...
幸运的是,Java Standard Tag Library (JSTL) 中的`fmt`标签库提供了一套强大的工具集,能够显著提高Struts开发人员的工作效率,同时也提升了代码的可读性和维护性。 #### JSTL与`fmt`标签库:简化Struts开发 JSTL...
这个压缩包文件包含了关于Struts2.0的经典书籍、源码以及标签的学习资源,对于想要深入理解和使用Struts2.0的人来说,是一份非常宝贵的资料。 首先,让我们从"经典书籍"入手。Struts2.0的书籍通常会涵盖以下知识点...
**Struts2中的Pager Taglib安装与使用指南** 在Java Web开发中,Struts2框架以其强大的MVC架构和丰富的插件库深受开发者喜爱。Pager Taglib是Struts2的一个重要组成部分,它提供了分页功能,使我们能够轻松地处理...
根据提供的标题、描述、标签及部分内容,我们可以总结出以下与Java、Java EE、Struts2、Spring、Hibernate相关的学习知识点: ### Java基础 - **Java语言特性**:介绍Java的基本语法,包括变量、数据类型、流程...
在Struts框架中,JSTL常与Struts的Action标签库结合使用,以减少JSP页面上的Java脚本代码,提高代码的可读性和维护性。导入"jstl的jar包"通常意味着开发者正在构建一个基于Struts的Web应用,他们希望利用JSTL提供的...
6. JSP视图页面:使用Struts标签库(struts-tiles或struts2-tags)显示数据,或者通过EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)来访问Action传递过来的数据。 这个示例项目可以...
8. **视图展示**:JSP页面会显示从数据库获取的学生信息,可能使用JSTL(JavaServer Pages Standard Tag Library)或其他标签库来简化页面代码,如`<c:forEach>`循环遍历学生列表,`<s:textfield>`创建表单输入元素...
总之,Struts框架结合JSTL和EL表达式,为Java Web开发提供了强大且易用的工具集,使开发者能够更加专注于业务逻辑,而非底层的表示层细节。通过熟练掌握这些工具,初学者可以快速提升Web应用开发能力。
总之,JSTL作为JavaWeb开发中的一个重要工具,其丰富的标签集为开发者提供了高效、简洁的页面编程方式,提升了代码的可读性和可维护性。深入理解和熟练掌握JSTL,对于提升JavaWeb开发的技能水平具有重要意义。
这个系统的核心特点是其强大的功能集和对多种语言的支持,为用户提供了一个灵活且高效的平台来管理和发布内容。 首先,让我们深入了解一下Struts框架。Struts是Apache软件基金会的一个开源项目,它是一个MVC(Model...
Struts2是一个强大的MVC(模型-视图-控制器)框架,它在Java Web开发中广泛应用,用于构建可维护、可扩展的Web应用程序。Oracle则是一款高性能的关系型数据库管理系统,常用于大型企业级应用。本教程将围绕Struts2与...