action向jsp页面传递数据的几种方法:
前提:在struts的配置文件struts-config.xml中,设置该action的scope属性为“request”,即:
<struts-config>
<form-beans>
<form-bean name="loginForm" type="com.bjsxt.struts.LoginActionForm"/>
</form-beans>
<action-mappings>
<action path="/login"
type="com.bjsxt.struts.LoginAction"
name="loginForm"
scope="request"
>
<forward name="success" path="/login_success.jsp"/>
<forward name="error" path="/login_error.jsp"/>
</action>
</action-mappings>
</struts-config>
注意:所有struts-config.xml中的path属性都是以"/"开头的。
方法一:在action中利用request对象的setAttribute方法来传递数据
package com.bjsxt.struts;
/**
* 用户登录的Action
*/
public class LoginAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
LoginActionForm laf = (LoginActionForm)form;
String username = laf.getUsername();
String password = laf.getPassword();
String errorInfo = "";
try {
UserManager.getInstance().login(username, password);
//request.setAttribute("username", username);
return mapping.findForward("success");
}catch(UserNotFoundException unfe) {
unfe.printStackTrace();
errorInfo = "用户不能找到,用户名称=[" + username + "]";
}catch(PasswordErrorException pee) {
pee.printStackTrace();
errorInfo = "密码错误";
}
request.setAttribute("errorinfo", errorInfo);
return mapping.findForward("error");
}
}
设置好后,就可以在login_success.jsp页面中,利用一下代码得到数据:
<%= request.getAttribute("username") %>
方法二:直接在request对象中获取ActionForm对象:
<%@ page import="com.bjsxt.struts.*" %>
<%
LoginActionForm laf = (LoginActionForm)request.getAttribute("loginForm");
%>
<%=laf.getUsername() %>,登录成功
方法三:使用EL表达式:
分享到:
相关推荐
JSP页面之间的数据传递是实现前后端交互的关键环节之一。本文将详细介绍几种常见的JSP页面传值方式,并结合实际应用场景进行解释。 #### 1. 使用表单(Form)进行传值 通过`<form>`标签可以构建一个表单,用户填写...
Struts 中数据在 Action 与 JSP 中的传递总结 Struts 框架中,数据在 Action 与 JSP 之间的传递是一种常见的需求。为了实现这种传递,Struts 提供了多种方式,本文将对这些方式进行总结。 方式一:通过 FormBean ...
在JSP页面中,我们可以使用jQuery的`$.ajax()`来发送请求: ```javascript $.ajax({ url: 'myAction', type: 'POST', dataType: 'json', success: function(response) { console.log(response); // 输出:{...
JSP页面间参数传递是JSP应用中的一个重要环节,它能够帮助开发者在不同页面之间共享数据或状态信息。本文将详细介绍几种常见的JSP页面间参数传递方法及其应用场景。 #### 二、直接在URL请求后添加参数 这种方法是...
1. **使用Request对象**:Action通过设置`HttpServletRequest`对象中的属性来传递数据,然后在JSP页面中通过`<%= %>`或EL表达式`${ }`来获取这些属性值。这种方式简单易用,适用于小型项目。 ```java request....
#### JSP页面间传值方法概述 在进行Web开发时,尤其是在使用Java Server Pages(JSP)技术的过程中,页面间的参数传递是一项非常重要的技能。它不仅涉及到基本的HTML知识,还涉及到Java语言以及HTTP协议的理解。...
jsp通过Ajax无刷新获取Action返回的模拟数据,然后通过struts2转化成json数据返回页面....这里面Map,List,对象等等,一些常用的操作都有。主要的代码在Action和 json.js里面。适合新手入门
在Java Web开发中,通常我们会使用Action(或Controller)层来处理业务逻辑,并通过Model将数据传递到View(如JSP页面)进行展示。但有时我们可能需要在Action层直接生成一个静态HTML页面,以便于快速部署或者离线...
- **JSP指令**(`<%@ ... %>`):用于向JSP引擎传递元数据,如页面编码、导入包等。 - **JSP动作**(`<jsp:action>`):用于执行服务器端的某些操作,如包括其他文件、执行JavaBean等。 理解这些基本概念是构建动态...
`jpager` 是一个专为 JSP 页面设计的分页标签库,它简化了在 JSP 中实现数据分页的过程,提供了直观且易于使用的标签接口。 **1. 安装与引入** 要使用 `jpager`,首先需要将 `jpager.jar` 文件添加到项目的类路径...
### 通过文件流读取本地图片显示在JSP页面的方法详解 #### 一、概述 在Web开发中,经常会遇到需要将本地存储的图片显示在前端界面的需求。本文将详细介绍如何利用Java中的文件流技术来实现这一功能。具体来说,...
以下是一个通过Ajax向Servlet传递数据的例子: ```html <form action="" method="post"> 姓名: 密码: 学生登录" name="student"> 老师登录" id="teacher"> $("#teacher").click(function(){ var name = $...
当我们需要从JSP页面传递参数到Action时,Struts2提供了多种方式来实现这一功能。本篇文章将深入探讨如何在Struts2中通过Action获取JSP页面的参数。 首先,我们需要理解Struts2的MVC架构,其中Model由Action类代表...
Session和Request对象是Java Servlet API的一部分,可以在多个JSP页面之间持久存储数据。 - **Session**: ```java // 设置 session.setAttribute("name", "John"); // 获取 String username = (String) ...
在JSP页面中,虽然不直接与Spring交互,但Spring的模型对象(Model)会传递到视图层,供JSP展示。 3. **Hibernate**:是一个持久化框架,简化了Java对象与数据库之间的映射。它处理SQL查询和结果集转换,使得开发者...
%>`): 在这里声明变量和方法,它们在JSP页面被转换成Servlet时作为类成员。 - **表达式** (`<%= %>`): 直接输出Java表达式的值到页面上。 - **脚本片段** (`<% %>`): 这里可以写任何Java代码,但不会输出到页面。 ...
5. 根据返回的结果,Struts2框架将控制权交给相应的JSP页面,此时数据可以通过不同的方式传递到JSP页面进行展示。 在Struts2中,JSP页面可以获取数据的途径主要有以下两种: 1. **从上级Action获取数据**: - 当...
6. **JSP表达式与脚本元素**:在JSP页面中,使用表达式`<%= %>`显示数据,使用脚本元素`<% %>`执行Java代码。 以上就是利用JSP和Servlet实现计算矩形周长和面积的Web应用的详细步骤和涉及的技术点。通过这个简单的...