我在使用 servlet 会话属性和 JQuery 显示 div 时遇到问题。请耐心等待,因为没有上下文很难解释。
我有一个“result.jsp”页面。在 jsp 中,我有一个“生成 URL”链接、一个空输入文本字段和一个“addThis”div。链接“生成 URL”调用 jquery ajax 方法“utilComp()”,该方法调用设置会话属性“saveLink”的 servlet,返回一个值并填充空文本字段。
如果属性会话“saveLink”为空(因为尚未单击生成 URL),则需要在加载 result.jsp 时隐藏 div。我通过使用 if test="${not empty saveLink}" 来做到这一点,并且 div 被隐藏了。
我的问题是把它带回来。我希望在完成 ajax utilComp() 并且始终设置属性 saveLink 后显示“addThis”div。任何人都知道我该如何做到这一点?任何帮助或想法将不胜感激。
这是只显示重要片段的 RESULT.JSP
<script type="text/javascript">
function utilComp() {
var jqXHR = $.ajax({
type: "POST",
url: "http://www.central.com/sharemake.do",
async: false,
global: false,
done: function(response){
return response;
},
fail: function(e){
alert('Error: ' + e);
}
}).responseText;
$('#savelink_id').val( jqXHR );
</script>
<a href="javascript:utilComp()"> Generate Link </a>
<input type="text" name="savelink_name" id="savelink_id" value="<c:out value="${saveLink}" />" />
<div class="addthis_toolbox addthis_default_style">
<a class="addthis_button_gmail" addthis:url="<c:out value="${saveLink}"/>" </a>
</div>
这是 utilComp() 调用的 servlet 代码
String addressID = "http://www.central.com/generate"
session.setAttribute("saveLink", addressID);
String resultToReturntoAjax = addressID ;
PrintWriter out = response.getWriter();
response.setContentType("text/text;charset=utf-8");
response.setHeader("cache-control", "no-cache");
out.println(resultToReturntoAjax);