struts2的学习记录

[size=large]1.struts2的选项卡标签"tabbedpanel"[/size]
感觉很好用的,下面是相关的代码:

<%@ page contentType="text/html;charset=GBK" language="java" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>tabbled panel示例:简单tabbled panel</title>
<s:head theme="ajax" debug="true"/>
<link rel="stylesheet" type="text/css" href="<s:url value="/struts /tabs.css"/>">
</head>
<body>
简单Tab页面,doLayout属性设置是否使用固定高度<br>
<s:tabbedPanel id="tab1" theme="ajax" cssStyle="width: 400px; height: 240px;" doLayout="true">
<s:div id="left" label="第一个Tab页" theme="ajax" >
hello<br>
dandan<br>
</s:div >
<s:div id="middle" label="第二个Tab页" theme="ajax" >
<h3>我的博客</h3>
哈哈哈哈哈哈哈<br>
</s:div >
</s:tabbedPanel>
</body>
</html>

[size=large]2. 有关struts2中的编码方式:[/size]
其实知道了也挺简单的,不过刚接触的时候还是费了不少功夫的,一般我是用GBK方式设置的,
你只需要在你的struts.xml里面加上如下的一句话" <constant name="struts.i18n.encoding" value="GBK"></constant>" 这一句话就是设置在struts2中跳转过程中使用的编码方式,这样以后,基本上如果你要是每个jsp页面都用GBK设置编码以后,即使表单中包括汉字,传递到相应action的时候也不会出现乱码了

[color=red][size=large]3.在struts2中的jsp页面中获取其他由其他java类提供的属性;[/size][/color]
我这里的意思是:比如有show.action要跳转到show.jsp.此时show.jsp中需要某一个变量的值,但是show.action并没有把这个值传给show.jsp。这时我们就需要引用其他的java类对象来获取相应的值,比如说:我们通过show.action把一个人的基本信息传给show.jsp,然后再show.jsp显示一个人的基本信息,然后你可以修改这个人的基本信息,假如说有一项信息是选择一个人的性别信息(这个人是男还是女),并且这个信息是需要从数据库中读取出来显示的,此时我们需要在jsp页面中把所有从数据库中取出的性别信息都显示出来,并且还要选中传过来的这个人的性别信息;这个时候其实就可以引用其他页面的对象了。
加入数据库中有数据:1.男 2.nv 3.外星人
我们定义一个SexType类里面有属性ID和type;
然后我们定义一个类ShowType.java
在showType.java类中,定义一个private static类型的list变量SexList。注意,变量一定要是static类型的,并且一定要定义变量的get和set方法,否则的话你就在jsp页面里面取不到这个变量的值.同时在这里面定义一个返回值为String类型的方法,这个方法就是这个action的执行方法.我在这里定义为public String showListType() throws Exception{
/***********
这里面写从数据库获取性别信息然后保存在list链表中的代码
*************/

/返回值是NULL
return NULL;
}

然后下面是这个类的代码
import com.ysg.impl.SexImpl;
import java.util.*;
public class ShowType {

private static List<SexType> Ssex=new ArrayList<SexType>();

public String getAllSexType(){

/**
下面的这个是另外一个类里面写的用来获取所有的对象,很简单,你自己 编写以下就可以了,我在这里就不写了
**/
Ssex=SexImp.getAllSexType();
return null;
}

public static List<SexType> getSsex() {
return Ssex;
}
public static void setSsex(List<SexType> ssex) {
Ssex = ssex;
}

}


然后下面就需要在struts.xml中声明这个类了:
<action name="SexTypeShow" class="com.hr.ysg.action.ShowType" method="getAllSexType">
</action>

这样然后在jsp页面中就可以使用了.
在jsp页面中,需要先把这个action引入到这个页面中
<ww:action name="SexTypeShow" id="SexSel" ></ww:action>

然后你就可以使用这个action了
假如说通过action传到show.jsp页面的有关性别的参数叫yoursex
如果你想在radio中显示所有有关性别的标签并且是选中你的性别标签
下面是jsp中的语句:
<ww:radio list="#SexSel.Ssex" listKey="ID" listValue="type" value="%{yoursex}" name="radioSex"></ww:radio>
这样就可以了
其中list表示是要在所有的radio中药显示的列表:在这里,我们有三项:男,女,外星人
listKey标签标识每个radio的key值,写过html的form的人应该都知道,radio显示的是value。但是后面隐藏的是key,在这里。由于上面数据库里面定义的是:1.男 2.nv 3.外星人
所以listkey就是1.2.3
listvalue就是 男,女,外星人;
value标签就是指你现在选中的是哪一个标签,如果说通过show.action传过来的yoursex的值是“男”,则选中的是对应key是“1”显示值是“男”的radio,否则显示其他相应的radio标签
然后这样就可以了
这样很省力气的。也非常的方便
如果还有不懂就留言了
呵呵
大家一起加油
一起进步
[color=red][size=large](注:当然了,也可以用bean标签来做的,而且我感觉应该是用bean标签更好.)[/size][/color]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值