博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
struts中把后台对象传到前台jsp页面上的方法
阅读量:4052 次
发布时间:2019-05-25

本文共 4242 字,大约阅读时间需要 14 分钟。

 Struts中的对象传到前台,一般都会用:

request.setAttribute("modifyAccount", modifyAccount);

整体代码如下:

public ActionForward toUpdateAccount(ActionMapping mapping, ActionForm form,			HttpServletRequest request, HttpServletResponse response)throws Exception  {		User user =  (User)getUser();		if(user==null){			throw new NotLoginException();		}		int accountId = StringUtil.getIntValue(request.getParameter("accountId"),0);		Account modifyAccount = accountService.find(accountId);		if(modifyAccount==null){			this.renderText(response, "false,该账户已被删除。");			return null;		}		bindForm(form,modifyAccount);		request.setAttribute("modifyAccount", modifyAccount);		return mapping.findForward("modifyAccount");	}

要想在前台jsp页面上获得这个modifyAccount对象,有几种方式(这个jsp,是在struts的配置文件中配置好的对应mapping.findForward("modifyAccount")的jsp文件):

1.可直接这样写:

${(empty modifyAccount )?"新建账号":"修改账号" }

可直接引用request.setAttribute("modifyAccount", modifyAccount);中的"modifyAccount",注意必须同名

2.可以先在jsp文件的开头引入java代码,获得对象,然后在jsp文件里面这样使用:<%=account.userId %>

先使用java代码获得对象:

<%@page import="com.autonavi.monitor.model.Account;"%><%	Account account = (Account)request.getAttribute("modifyAccount"); %>

这样在下面直接这样使用就行了:

注意value的值一定要加上<%=  %>

3.也可以这样写,可直接获得对象的值,但要注意property的值必须跟对象的属生名一致:

4.Struts1标签使用方法:

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%> <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%><%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
struts1标签
html:text标签:
name属性为默认form:
name属性非当前form:

html:select标签:

optionsCollection:
options:

logic:empty标签:

logic:empty:
logic:notEmpty:

logic:equals标签:
${usr.username }
编辑个人信息
logic:iterate标签:
${usr.username }

bean:wirte标签:

bean:define标签:
传统获取记录条数:<%=((java.util.List)request.getAttribute("userList")).size() %>
bean标签获取记录条数:
<%=dataList.size() %>

bean:size标签:

bean标签获取记录条数:
${count }
User对象的字段有:   private int userID;   private String username;   private Date birth;   private Double score;Teacher对象的字段有:   private int graID;   private String gradeName;   private String teacherName;//以下是在跳转到当前页面之前的action处理方法:public ActionForward doShow(ActionMapping mapping, ActionForm form,    HttpServletRequest request, HttpServletResponse response) {   System.out.println("到达action");   SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");   UserForm userForm = (UserForm) form;   userForm.setUserID(22);   userForm.setUsername("TZ");   try {    userForm.setBirth(fmt.parse("2004-5-5"));   } catch (ParseException ex1) {    ex1.printStackTrace();   }   List
list = new ArrayList
(); try { list.add(new User(1, "Urey", fmt.parse("2009-10-1"),330.0)); list.add(new User(2, "Protoss", fmt.parse("2010-1-1"),11110.0)); list.add(new User(3, "BlackWinter", fmt.parse("2008-5-5"),3444.0)); request.setAttribute("userList", list); request.getSession().setAttribute("currUser", new User(2, "Protoss", fmt.parse("2010-1-1"),4050.0)); Grade grade = new Grade(1, "T64", "Miss Gao"); request.getSession().setAttribute("grade", grade); } catch (ParseException ex) { ex.printStackTrace(); } return mapping.findForward("ok");//在配置文件中设置的"ok"转向为当前页面}

修改账户的jsp文件:

<%@ page contentType="text/html;charset=utf-8"%><%@page import="com.autonavi.monitor.model.Account;"%><%@ include file="/pages/common/global.jsp"%><%	Account account = (Account)request.getAttribute("modifyAccount"); %>
职工编号 | 
职工姓名 | 
部  门 | 
申请人 | 
申请原因 | 
账号启用时间 | 
账号停用时间 |
    

 

 

转载地址:http://aqtci.baihongyu.com/

你可能感兴趣的文章
openstack网络总结
查看>>
excel 查找一个表的数据在另一个表中是否存在
查看>>
centos 7 上配置dnsmasq 同时支持ipv4和ipv6的DHCP服务
查看>>
AsyncTask、View.post(Runnable)、ViewTreeObserver三种方式总结frame animation自动启动
查看>>
Android中AsyncTask的简单用法
查看>>
概念区别
查看>>
Idea下安装Lombok插件
查看>>
zookeeper
查看>>
Idea导入的工程看不到src等代码
查看>>
技术栈
查看>>
8.X版本的node打包时,gulp命令报错 require.extensions.hasownproperty
查看>>
Jenkins 启动命令
查看>>
Maven项目版本继承 – 我必须指定父版本?
查看>>
通过C++反射实现C++与任意脚本(lua、js等)的交互(二)
查看>>
利用清华镜像站解决pip超时问题
查看>>
微信小程序开发全线记录
查看>>
CCF 分蛋糕
查看>>
解决python2.7中UnicodeEncodeError
查看>>
小谈python 输出
查看>>
Django objects.all()、objects.get()与objects.filter()之间的区别介绍
查看>>