关于struts修改实体信息回显的方法

本文介绍了在Struts中如何实现修改实体信息时的数据回显。当从主页跳转到更新页面时,需要将实体信息传递过去。关键在于Action类中通过ID获取实体的方法,以及将实体作为Action的属性,使得在JSP页面可以直接使用OGNL表达式访问这些属性,简化了更新操作的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

很多时候我们要 修改一些  实体类的信息的时候,当从主页跳转到 修改页后,还要把实体的信息一并传过去,

效果是这样的:(当然这个很简单,做法也很多)

当点击更新的后为:

这里肯定dao层得有一个方法 通过id获取实体类。

其中主页的代码:


更新页面为:

<s:form action="student!update" method="get">
  		<!-- action类中的属性与这里的name如果对应的话,这就直接把值赋了过去 -->
  		姓名:<s:textfield name="name"></s:textfield>
  		年龄:<s:textfield name="age"></s:textfield>
  		性别:<s:textfield name="sex"></s:textfield>
  		<s:hidden name="id"></s:hidden>
  		<s:submit value="提交"/>
  	</s:form>


主要的是  student对应的action类中的update2jsp方法,下面是关键代码:

public String update2jsp(){
		

		student=studentService.getStduentById(id);
		//这句话直接将student压到了valuestack的栈顶
		ActionContext.getContext().getValueStack().push(student);
		//上式等价与
		//ActionContext.getContext().getValueStack().getRoot().add(0,student);
		
		//System.out.println("stduent:    "+student.getAge()+"/"+student.getName()+"/"+student.getSex());
		return SUCCESS;
	}

当然要  将student作为  action的一个属性。

其中这句话是关键;
ActionContext.getContext().getValueStack().push(student);
观察update2jsp页面的debug:



我们封装的是实体类,到jsp页面后 全部成为属性了(这就是妙处);

我们直接可以用ognl表达式获取。


写给有用的人。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值