- 浏览: 548976 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
coosummer:
推荐使用http://buttoncssgenerator.c ...
【转载】CSS圆角按钮(一) -
saiarmuluo:
不错,支持。
java log4j日志 写入数据库 -
springdata_springmvc:
spring mvc demo教程源代码下载,地址:http: ...
Freemarker 使用 -
zlbdexiaohao:
棒棒的
flex ToolTip汇总 -
hw_128:
demo的代码的,能不能发一下,谢谢 qq257515270 ...
java log4j日志 写入数据库
本文装载自:http://karidyang.iteye.com/blog/611096
代码很经典
POJO
@Entity
@Table(name = "P_AREA")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class Area {
@Id
private Long id;
private String areaName;
// getter and setter
}
@Entity @Table(name = "P_AREA") @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) public class Area { @Id private Long id; private String areaName; // getter and setter }
@Entity
@Table(name = "P_HOUSE")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class House {
@Id
private Long id;
private String houseCode;
//getter and setter
}
@Entity @Table(name = "P_HOUSE") @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) public class House { @Id private Long id; private String houseCode; //getter and setter }
@Entity
@Table(name = "P_PERSON")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class Person {
@Id
private Long id;
private String name;
//getter and setter
}
@Entity @Table(name = "P_PERSON") @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) public class Person { @Id private Long id; private String name; //getter and setter }
Action如下:
@Namespace("/")
@Results( { @Result(name = CrudActionSupport.RELOAD, location = "person.action", type = "redirect") })
public class PersonAction extends CrudActionSupport{
private List<Person> persons;
private Long areaId;
private Long houseId;
private List<Area> areaList;
private Map<Long, List<House>> houseMap;
//服务层接口
@Autowired
private ServiceManage serviceManage;
@Override
public String list() throws Exception {
//从数据库查询所有的区域
areaList = serviceManage.searchArea();
houseMap = new HashMap<Long, List<House>>();
//封装HouseMap
for (Area area : areaList) {
houseMap.put(area.getId(), area.getHouseList());
}
if (houseId == null) {
addActionError("请选择房号");
return SUCCESS;
}
persons = serviceManage.searchPerson(houseId);
return SUCCESS;
}
//getter and setter
}
@Namespace("/") @Results( { @Result(name = CrudActionSupport.RELOAD, location = "person.action", type = "redirect") }) public class PersonAction extends CrudActionSupport{ private List<Person> persons; private Long areaId; private Long houseId; private List<Area> areaList; private Map<Long, List<House>> houseMap; //服务层接口 @Autowired private ServiceManage serviceManage; @Override public String list() throws Exception { //从数据库查询所有的区域 areaList = serviceManage.searchArea(); houseMap = new HashMap<Long, List<House>>(); //封装HouseMap for (Area area : areaList) { houseMap.put(area.getId(), area.getHouseList()); } if (houseId == null) { addActionError("请选择房号"); return SUCCESS; } persons = serviceManage.searchPerson(houseId); return SUCCESS; } //getter and setter }
页面: person.jsp
<s:form id="mainForm" action="person.action" method="post">
<div id="filter">
<div style="float: left">
请选择房间:<s:doubleselect list="areaList"
listKey="id"
listValue="areaName"
doubleName="houseId"
name="areaId"
doubleList="houseMap.get(top.id)" //此处top指第一个列表当前选择到的对象
doubleListKey="id"
doubleListValue="houseCode"
theme="custom" //custom是自定义的模板类型,取消了原来模板中的<br />
/>
</div>
<input type="button" value="搜索" onclick="search();"/>
</div>
<div id="content">
<table id="contentTable">
<tr>
<th><房号</th>
<th>姓名</th>
</tr>
<s:iterator value="person">
<tr>
<td>${house.houseCode } </td>
<td>${name } </td>
</tr>
</s:iterator>
</table>
</div>
</s:form>
<s:form id="mainForm" action="person.action" method="post"> <div id="filter"> <div style="float: left"> 请选择房间:<s:doubleselect list="areaList" listKey="id" listValue="areaName" doubleName="houseId" name="areaId" doubleList="houseMap.get(top.id)" //此处top指第一个列表当前选择到的对象 doubleListKey="id" doubleListValue="houseCode" theme="custom" //custom是自定义的模板类型,取消了原来模板中的<br /> /> </div> <input type="button" value="搜索" onclick="search();"/> </div> <div id="content"> <table id="contentTable"> <tr> <th><房号</th> <th>姓名</th> </tr> <s:iterator value="person"> <tr> <td>${house.houseCode } </td> <td>${name } </td> </tr> </s:iterator> </table> </div> </s:form>
自定义模板
在classpath下新建template/custom目录,拷贝struts2-core-2.1.8.jar\template\xhtml\doubleselect.ftl到该目录下,删除文件中的<br />
或者创建css样式
.doubleselect br{
display:none;
}
jsp页面:
<div class="doubleselect">
<s:doubleselect list="areaList"
listKey="id"
listValue="areaName"
doubleName="houseId"
name="areaId"
doubleList="houseMap.get(top.id)" //此处top指第一个列表当前选择到的对象
doubleListKey="id"
doubleListValue="houseCode"
theme="simple" />
</div>
发表评论
-
【转】java中volatile关键字的含义
2013-05-12 16:06 1008用在多线程,同步变量。 线程为了提高效率,将某成员变量(如A ... -
java 收集
2012-10-22 09:16 0OpenSessionInViewFilter在查询完之后不提 ... -
java连接sql时候,获取表格各列属性
2012-10-19 18:09 0import java.sql.Connection; ... -
【转载】log4j 日志大小
2012-03-23 19:31 10661今天群里一个哥们问一 ... -
spring bean 自定义作用域
2012-02-18 15:02 4337一般都知道spring2.x bean的作用域 Bean ... -
【转】java获取jar文件位置
2012-02-16 21:04 2039网络转载 在编程的时候如果在工程中无意中导入多个同样的jar ... -
java 逐位运算符
2012-01-22 16:53 4545运算符归类: 一元运算符:逻辑运算符(!),非运算符( ... -
hibernate hql
2011-12-15 20:05 0hibernate -hql 1.hql中最简单的查询 f ... -
Hibernate初探(二)
2011-12-15 16:32 38hql 关联查询fetch hql code: from Te ... -
hibernate 复合主键
2011-11-01 19:30 1361hibernate 复合主键 在实体中可以定义一个嵌入式组件( ... -
28234行的java 类文件
2011-08-29 16:04 937有图为证:28234行的java 类文件 各位有没有???见过 ... -
递归显示文件夹下文件
2011-08-10 14:43 920public static void main(String[ ... -
java.lang.UnsupportedClassVersionError异常解决办法
2011-06-14 14:32 1531出现错误的原因: 是因为我们使用高版本的JDK编译的Java ... -
内部类修改外部类属性
2011-06-10 16:55 5710public class Test { public Str ... -
java log4j日志 写入数据库
2011-06-01 20:57 11306因一个群朋友log4j日志 ... -
eclipse改图片
2011-05-14 08:44 1234例如:eclipse目录在 D:\rd\eclipse3.3 ... -
spirng2.x-入门
2011-01-04 09:50 958Spring 2.5 中除了提供 @Component 注释外 ... -
自定义 StringUtil 处理类
2011-01-04 09:41 1187isNumber //判读是不是数字 isDate//判读 ... -
Hibernate学习笔记--Criteria Query
2011-01-04 09:20 9199Criteria Query通过面向对 ... -
struts2 页面国际化
2010-12-29 15:24 1100//输出配置文件中的属性<s:text name=&qu ...
相关推荐
- `<s:if>`、`<s:elseif>` 和 `<s:else>` 标签用于实现条件判断逻辑。 - 示例: ```xml <s:if test="%{testBoolean}"> <p>这是显示的内容</p> </s:if> <s:elseif test="%{testBoolean == false}"> <p>这是另...
1. <s:generator separator="" val=""></s:generator>----和<s:iterator>标签一起使用 H: 1. <s:head/>-----在<head></head>里使用,表示头文件结束 2. <s:hidden></s:hidden>-----隐藏值 I: 1. <s:...
<h2>Doubleselect缺省值selected使用数据演示:</h2> <s:form name="form1"> <s:doubleselect label="缺省值测试" list="#{map}" name="city" value="%{defaultItem}" doublevalue="%{doubleDefaultItem}"/> </s:...
在Struts2中,我们有许多内置的标签来帮助开发者更方便地处理表单元素,例如`<s:select>`和`<s:doubleselect>`就是其中两个用于创建下拉列表的标签。下面我们将详细探讨这两个标签以及如何在J2EE项目中使用它们。 1...
-- 这里可以使用<s:iterator> --> </s:generator> ``` - **解释**:生成数据项,并使用逗号分隔。 ##### 24. `<s:head>` 头部标签 - **用途**:在`<head>`标签内使用。 - **示例代码**: ```xml <s:head> ...
* <s:generator>:和 <s:iterator> 标签一起使用 H: * <s:head>:在 <head></head> 里使用,表示头文件结束 * <s:hidden>:隐藏值 I: * <s:i18n>:加载资源包到值堆栈 * <s:include>:包含一个输出,servlet ...
1. `<s:generator>`:与`s:iterator`标签配合使用,生成序列。 H组标签: 1. `<s:head>`:在HTML的`<head>`标签中使用,用于结束头文件。 2. `<s:hidden>`:创建隐藏字段,用于存储不显示的数据。 I组标签: 1. `...
在Struts2中,所有的标签都统一在`<s>`前缀下,通过引入`<%@ taglib prefix="s" uri="/struts-tags" %>`就可以在页面上使用这些标签。 **A组标签:** 1. `<s:a>` - 用于创建超链接,与HTML的`<a>`标签类似,可以...
4. **JSP页面**:在JSP页面中,使用`<s:doubleselect>`标签来声明这两个下拉列表。标签的属性包括`list`、`listKey`、`listValue`、`name`等,它们分别用来指定数据源、键字段、值字段以及Action中的属性名。 ```...
5. `<s:doubleselect>`:创建双列选择框,允许用户从两个列表中选择值。 E部分: 1. `<s:if>`,`<s:elseif>`,`<s:else>`:条件判断语句,用于控制标签的渲染。 F部分: 1. `<s:fielderror>`:显示字段级别的错误...
8. **`<s:doubleselect>`**:用于生成一对双列表框,支持多选。 9. **`<s:combobox>`**:生成组合框。 10. **`<s:optiontransferselect>`**:生成可移动选项的下拉列表。 11. **`<s:optgroup>`**:用于组织多个`<s:...
`<s:push>` 标签用于将值推入堆栈,以便后续的`<s:property>`等标签使用。 ### 32. `<s:radiolist>` 标签 `<s:radiolist>` 标签用于创建一组单选按钮,通常用于单选列表。 ### 33. `<s:reset>` 标签 `<s:reset>`...
14. **双下拉框标签 `<s:doubleselect>`**:创建两个关联的下拉框,通常用于一对多的选择。 15. **条件判断标签 `<s:if>`, `<s:elseif>`, `<s:else>`**:实现条件语句,类似于Java的if-else结构。 16. **文件错误...
`<s:doubleselect>` - 双向选择列表标签 用于创建双向选择列表。 ```jsp <s:doubleselect name="doubleSelect" doubleList="doubleOptions" doubleName="doubleFieldName"/> ``` ##### 17. `<s:if>`、`<s:elseif>`...
流程控制标签如<s:if>、<s:switch>用于条件判断和流程控制,数据访问标签如<s:property>用于输出ValueStack中的值,<s:i18n>支持国际化。 3. AJAX标签:Struts2还提供了与AJAX相关的标签,如<s:ajax>,能够实现异步...
`<s:doubleselect>` 标签 - **用途**:创建双列表选择框。 - **示例**: ```xml <s:doubleselect doubleName="selectedOptions" doubleList="allOptions" /> ``` ##### 17. `<s:if>`、`<s:elseif>`、`<s:else>`...
<s:doubleselect name="selectedOptions" doubleName="unselectedOptions" doubleList="allOptions"/> ``` #### 17. `<s:if>`、`<s:elseif>`、`<s:else>` - 条件判断 提供基本的条件分支结构。 ```xml <s:if test=...
这只是Struts2标签库中的一部分,实际使用中还有许多其他标签,如`<s:form>`、`<s:iterator>`、`<s:property>`等,它们各自服务于特定的目的,共同构成了Struts2强大而灵活的视图层工具集。 总的来说,Struts2标签...
- `<s:doubleselect>`:创建两个关联的下拉框,常用于一对多关联的选择。 - `<s:optiontransferselect>`:创建两个独立的下拉框,支持元素的转移。 4. **表单元素**: - `<s:file>`:处理文件上传功能。 - `<s:...
这只是Struts2标签库中的一部分,实际使用中还有许多其他标签,如`<s:form>`、`<s:textfield>`、`<s:textarea>`、`<s:submit>`等,它们分别用于创建表单、文本输入框、多行文本输入框以及提交按钮。 Struts2的标签...