Struts JSP / html插入当前日期

时间:2014-06-20 18:25:19

标签: java html jsp struts2

我的问题非常类似于这个问题: Is it possible to access struts2 variable in jsp scriptlet?

在我的.jsp页面中,我有一个表单,我想在其中预设一个文本字段到当前日期。我唯一的问题是“值”在使用Struts时不支持运行时表达式 - 这是有道理的,我希望尽可能多地保留JSP中的Java。但这让我很难让变量摆脱一个动作。 我目前正在运行Tomcat v7.0和Eclipse Java EE IDE for Web Developers。版本:开普勒服务版本2.

在我的.jsp页面中我有:

   <s:set var="currentDate" value="currentDate"/>
   <s:property value="currentDate"/>

   <s:form action= "updateAction">
  <s:textfield name="dateUpdated" key="label.dateUpdated" size="20" value="%{currentDate}" />
   <s:submit method="execute" key="submit"/>
   </s:form>

现在我有三个动作 - 一个到达此页面(ToPageAction),一个用于提交表单(UpdateAction),一个用于获取currentDate变量(GetCurrentDateAction)。

我想我会疯了&gt;。&lt;

无论如何,获取currentDate变量的操作称为GetCurrentDateAction,如下所示:

 public class GetCurrentDateAction extends ActionSupport {

SimpleDateFormat date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public String currentDate = date.toString();

public String getCurrentDate(){
    return currentDate;
}
public void setVariable(String currentDate){
    this.currentDate=currentDate;
}
public String execute() throws Exception{
    return SUCCESS;

}
}

另外在struts.xml中我有:

 <action name="getCurrentDateAction"
class="net.upsmon.struts2.action.GetCurrentDateAction">
<result name="success">AlertPersistencyView.jsp</result>
</action>

我已经阅读了很多次链接的问题,并尝试正确格式化自己的struts,但发现自己迷路了。我不确定答案是否只是误导,或者我只是不理解我觉得这个问题不难解决。在我的.jsp页面中,我有一个属性标记来向我自己证明我将变量放入.jsp但它还没有工作。另外我的文本字段是空白的。有什么建议让我把这个变量放到我的.jsp中吗?我可以为解决方案提供任何其他信息吗?我非常了解Struts的基础知识,欢迎任何建议。

另外一条信息:我一直在查看this博客,以便找出我的问题,但仍未提出解决方案。

3 个答案:

答案 0 :(得分:1)

如果您正在使用JSP,根据您的问题标题的格式,我的理解就是您正在做的事情,我会像这样格式化(取决于您希望日期看起来如何改变日期的方式建成)。你可以这样做

<%@page import="java.text.SimpleDateFormat, java.util.Calendar, java.text.DateFormat"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
     <head>
         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
         <title>Date Tester</title>
     </head>
     <body>
         <%
             DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");
             Calendar cal = Calendar.getInstance();           
         %>
        <form>
            <label for="date">Your Text Field: </label><br/>
            <textarea type="" name="date" value="" >Today's Date: <%=    dateFormat.format(cal.getTime()) + "\n" %></textarea>
        <!-- The rest of your form here -->
        </form>
    </body>
</html>

我希望这有帮助!如果不发表评论,我会再试一次。

答案 1 :(得分:0)

 <p id="demo"></p>
 <script>
      document.getElementById("demo").innerHTML = Date();
 </script>

答案 2 :(得分:0)

您可以尝试JSP Standard Tag Library并始终尝试避免 Scriptlet元素。示例代码:

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>

<jsp:useBean id="today" class="java.util.Date" />

<textarea>
    <fmt:formatDate value="${today}" pattern="yyyy-MM-dd HH:mm:ss" />
</textarea>