编程语言
首页 > 编程语言> > 在JSP标记中使用JavaScript

在JSP标记中使用JavaScript

作者:互联网

我已经看到this question重新导入与标签内容本身相关的js文件.我有一个类似的问题,这里我有一个生成一些HTML的jsp标签,并有一个通用的js实现来处理这个HTML的行为.此外,我需要编写一些初始化语句,因此我可以通过JavaScript使用它.为了能够在我的JavaScript中使用这个“处理程序”,它应该以某种方式可访问.

问题是……写内联< script>是否可以标签以及我的HTML用于实例化和初始化目的(我个人认为它不是很优雅)?关于JS世界的可访问性,我是否应该保留一个全局变量引用我的处理程序对象(我认为不是很优雅),有更好的方法吗?

解决方法:

你应该在自己的文件中争取使用javascript.这通常用Progressive Enhancement完成.但有时你没有选择,例如当相同的JSP呈现不同语言的页面时.这是一个真实的例子:

JSP:

  <script src="/javascript/article_admin.js"></script>  
  <script type="text/javascript">  
      NP_ArticleAdmin.initialize({  
            text: {  
              please_confirm_deletion_of: '<i18n:output text="please.confirm.deletion.of"/>',  
              this_cannot_be_undone: '<i18n:output text="this.cannot.be.undone"/>'  
            }  
      });  
  </script>  

javascript(article_admin.js):

 /*global NP_ArticleAdmin, jQuery, confirm */  
 NP_ArticleAdmin = function ($) {  
     var text;  

     function delete_article(event) {  
         var article = $(this).parents("li.article"),  
         id = article.attr("id"),  
         name = article.find("h3.name").html();  
         if (confirm(text.please_confirm_deletion_of + name + text.this_cannot_be_undone)) {  
             $.post("/admin/delete_article", {id: id});  
             article.fadeOut();  
         }  
         event.preventDefault();  
         return false;  
     }  

     function initialize(data) {  
         text = data.text;  
         $("#articles a.delete").click(delete_article);  
     }  

     return {initialize: initialize};  
 }(jQuery);

在此示例中,JSP文件中唯一的javascript是需要存在的部分.核心功能在其自己的js文件中分开.

标签:jsp-tags,javascript,jsp
来源: https://codeday.me/bug/20191006/1862541.html