从scriplet生成的日期在textfield中设置为默认值

时间:2013-05-23 02:30:46

标签: jsp date struts2 textfield

我的JSP中有这个scriplet,我希望它以某种方式包含在我的<s:textfield>

中作为默认值
<%java.text.DateFormat df = new java.text.SimpleDateFormat("yyyy/MM/dd"); %> 

如何访问变量df?我这样想:

<s:textfield name="mediaBean.acquireDate" style="width:150px;" 
        theme="simple" id="datepicker" type="text" 
        value="%{df.format(new java.util.Date())}" />

我尝试直接将其设为value="%{new java.util.Date()},但它没有格式化。我想要yyyy/MM/dd格式。

请帮助。谢谢。

2 个答案:

答案 0 :(得分:3)

不要使用scriplets,请使用标签库。你想要的是Struts2标签<s:date><s:param>

<s:textfield name="mediaBean.acquireDate" style="width:150px;" theme="simple" id="datepicker" type="text">
  <s:param name="value">
    <s:date name="new java.util.Date()" format="yyyy/MM/dd"/>
  </s:param>
</s:textfield>

答案 1 :(得分:2)

像这样设置脚本变量

<s:set var="df" value="%{new java.text.SimpleDateFormat('yyyy/MM/dd')}"/> 

然后引用它

<s:textfield name="mediaBean.acquireDate" style="width:150px;" 
        theme="simple" id="datepicker" type="text" 
        value="%{#df.format(new java.util.Date())}" />