是否有任何方法可以在客户端使用javascript更改jsp自定义标记值

Is there any way to change the jsp custom tag value using javascript at clientside

本文关键字:jsp 更改 javascript 自定义 方法 任何 客户端 是否      更新时间:2023-09-26

我的意图是在客户端使用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}" /> 

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

我为此想出了一种解决方案,在此之前,我在发布问题时遗漏了一些东西。。JSP及其标记(内置/自定义)与服务端有关,但与客户端浏览器无关。JSP引擎根据我们在JSP页面中编写的标记编写servlet。我们可以在javascript函数中调用jsp一些标记,但在标记中调用javascript函数是不可能的。对于上面的场景,我用<div>包装渲染的标记值,并将该标记定位在javascript函数中,对渲染的数据进行修改,然后将结果设置为相同<div>的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>