【问题标题】:Is there any way to change the jsp custom tag value using javascript at clientside有什么方法可以在客户端使用 javascript 更改 jsp 自定义标记值
【发布时间】:2016-02-19 18:24:55
【问题描述】:

我的意图是在客户端使用 javascript 更改我的 jsp 自定义标记值。标签给出了一些日期值。在重新设置值之前,我正在调用 javascript 函数并尝试对其进行必要的更改并返回结果日期。但未能根据我的要求处理 jsp 标签和 javascript。我确实喜欢这个..

<%@ taglib uri="/WEB-INF/c.tld" prefix="c" %>
<%@ taglib uri="/WEB-INF/fmt.tld" prefix="fmt" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<script>
var createdDate;
window.onload = function() {
createdDate = '${myBean.createdDate}';
    // modifying the createdDate 
}
function getModifiedDate(){
return createdDate;
}
</script>
<table>
.
.
.
<tr><td>
 <!-- I modified the code like this -->
<fmt:formatDate value='<script>getModifiedDate();</script>'  type="both" pattern="${viewDatePattern}" />
</td></tr>
.
.
.
</table>

以前是这样的..

<fmt:formatDate value="${myBean.created}" type="both" pattern="${viewDatePattern}" /> 

我用我的更改执行了应用程序,但没有运气,请提供解决方案,在脚本修改后通过标签呈现日期值。

【问题讨论】:

    标签: javascript jsp custom-tags


    【解决方案1】:

    为此我想出了一种解决方案,在此之前我在发布问题时错过了一些事情。JSP 及其标签(内置/自定义)与服务端相关,但与客户端浏览器无关。 JSP引擎根据我们在jsp页面中编写的标签编写一个servlet。 我们可以在 javascript 函数内调用 jsp 一些标签,但在标签内调用 javascript 函数是不可能的。 对于上述情况,我用&lt;div&gt; 包装呈现的标记值,并将此标记定位在javascript 函数中并对呈现的数据进行修改,然后将结果设置为相同&lt;div&gt; 的innerHTML。这是方法..

      <div id="requestDateId" style="height: 5px;">
        <fmt:formatDate value="${myBean.created}" type="both" />
        </div>   
    

    内部脚本..

    <script>
      window.onload = function() {
        var requestDate = document.getElementById("requestDateId").innerHTML;
        if(requestDate)
        document.getElementById("requestDateId").innerHTML = foo(requestDate);
      }
      function foo(requestDate){
         // my logic 
        return requestDate;
      }
    </script>
    

    【讨论】:

      猜你喜欢
      • 2019-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-15
      • 2014-06-26
      • 2017-08-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多