struts2的学习记录

1.struts2的选项卡标签"tabbedpanel"
  感觉很好用的,下面是相关的代码:
 
  <%@ 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>

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

3.在struts2中的jsp页面中获取其他由其他java类提供的属性;
我这里的意思是:比如有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标签
然后这样就可以了
这样很省力气的。也非常的方便
如果还有不懂就留言了
呵呵
大家一起加油
一起进步
(注:当然了,也可以用bean标签来做的,而且我感觉应该是用bean标签更好.)

你可能感兴趣的:(JavaScript,jsp,bean,xml,struts)