使用 JSTL 将更改的文本文件重新加载到 JSP 页面中



需要建议。我需要开发一个基本上是静态的 HTML 页面。但是,该页面需要包含一小部分数据,这些数据需要每周更新一次左右。此数据更新将由非技术人员完成。

我的解决方案是创建一个 JSP 页面并使用 JSTL 加载一小部分文本。我不想使用 servlet 或 struts,因为页面更新不频繁。

代码如下 -:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head></head>
<body>
    <h2>Testing</h2>
    This is the container which will contain the user defined data ... 
    User defined data needs to be uploaded whenever the file changes.
    <h4 id="test"> Registration Information</h4>
    <c:import var="testHtml" url="content/LatestNews.html" />
    <c:out value="${testHtml}" escapeXml="false" />
</body>
</html>

我现在的问题如下-:

  1. 这是一个很好的解决方案还是有更好的方法可以做到这一点?
  2. 如何使最终页面重新加载对文本文件所做的更改(每当 html/txt 文件更新时)?

1.)如果我没记错的话,如果你有一些东西可以触发最终用户的上传过程,(按钮等),你需要设置id。然后使用 javascript 来控制重新加载时间。

爪哇语

$('#triggerButton').submit(function(e){
  e.preventDefault();
  setTimeout(function(){window.location.reload(true);},timeoutPeriod);
});

2.)如果没有,并且所有代码都在您发布的html上说明,您可以随时设置时间间隔来重新加载页面。类似的东西

setInterval(function(){alert("Hello")}, 3000);
setTimeout(function () {
    location.reload();
}, 3000);

第一个简单示例每 3 秒显示一次弹出警报窗口,第二个示例在 3 秒后重新加载页面。信用@aphextwix

如果上述内容仍然不适合您的条件,那么您可能还需要使用 javascript 处理代码。像这样的东西。

function myReloadNTimeOutFunction()
{
    doStuff();
    setTimeout(window.location.reload(), 1000);
}
myReloadNTimeOutFunction();

希望对您有所帮助。:)

最新更新