struts2中一些常用的写法 记录

1.对日期进行处理

Date current = new Date();
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");
String time = sdf.format(current);

或者:

插入当前时间:pstmt.setDate(4,new java.sql.Date(new java.util.Date().getTime()));//这里getTime()是将时间转换为long类型

取得输入的时间:

1. pstmt.setDate(4,new java.sql.Date( emp.getHiredate().getTime() ) ); //emp.getHiredate()是某个类的java.util.Date类型

2.pstmt.setDate(4,new Timestamp(emp.getHiredate().getTime())); //这个更精确,适合oracle date类型 ,格式如:2016-08-27 09:28:11.944

或者:

java.sql.Date buydate=java.sql.Date.valueOf("2005-06-08");//或者下面的精确度高的
java.sql.Timestamp buydate2=java.sql.Timestamp.valueOf("2004-06-08 05:33:99");//对精确度较为高的转换

pstmt.setDate(1,buydate );

或者:

PreparedStatement pstmt = conn.prepareStatement("insert into book (name,buydate) values (?,?)");
java.sql.Timestamp buydate=java.sql.Timestamp.valueOf("2004-06-08 05:33:99");

pstmt.setTimestamp(1,buydate );

oracle 中插入date 方式:可以查看(java向oracle数据库中插入当前时间

insert into EMP (ID, USERNAME, SALARY, HIREDATE)
values ('1', 'deng', 12321.12, to_date('01-08-2016', 'dd-mm-yyyy'));

精确到秒:

insert into EMP (ID, USERNAME, SALARY, HIREDATE)
values ('4', 'deng', 12321.12,
to_date('2005_03_30:11:20:35','yyyy-mm-dd:hh24:mi:ss'));

其表结构为:

create table DENG.EMP
(
ID VARCHAR2(40) not null,
USERNAME VARCHAR2(40) not null,
SALARY NUMBER(10,2) not null,
HIREDATE DATE not null
)

2.取出s:iterator 中的当前迭代的下标

<s:iterator status="cList" value="categoryList" id='number'>
<option name="category_id" value="${category_id}">
<s:property value='#cList.index+1'/>.${name}
</option>
</s:iterator>

3.input value="值栈的值"

<input type="text" value="<s:property value="myp.begintime"/>" onfocus="HS_setDate(this)"/> 直接这样就行了。。

4. 用EL表达式获取user属性:

  1. ${user}<br/>
  2. 注:这里的值其实还是来自于值栈。<br/><br/>

5.做项目遇到一个需求,前台已经获取到了一个小组所有人的昵称,需要展示出一个管理员的昵称,但是小组中又有普通成员又有管理员,而且管理员不一定只有一个。

在用s:iterator遍历这个小组成员时需要过滤出管理员,然后在找到第一个管理员以后停止循环,下面是我的代码:

  1. <s:set name="index" value="1" />
  2. <s:iterator value="#detail.members" var="memeber" id="memeber" status="status">
  3. <s:if test='%{#memeber.attr1 == "admin" }'>
  4. <s:if test="#index==1">
  5. <s:set name="index" value="2" />
  6. <s:property value="#memeber.nickName"/>
  7. </s:if>
  8. </s:if>
  9. </s:iterator>

s:if可以合成一个,这里写成两个方便大家理解,这样做的实质没有跳出循环,但是巧妙的控制了循环的次数。

待续

上一篇:【转】PHP 5.3 5.4 5.5 5.6特性


下一篇:【C#学习笔记】获取当前应用程序所在路径及环境变量