javascript - AngularJS:templateUrl 适用于 HTML 模板文件,但不适用于 .JSP

标签 javascript java html angularjs jsp

我在 angularJS 中构建一个 Controller 模板,就像这样简单:

var maintest = angular.module("mainTest", []);
angular.module("mainTest")
        .component('mainscreen', {
        templateUrl: './services/fakeService.html',
        controller: function example(){
                    this.userData = 'Jospeh';
                }
        } );

如果模板是如上所示的 HTML 文件,则可以正常工作。但如果您尝试使用 .JSP 模板,则根本不起作用(下面的 fakeService.jsp 代码)。

HTML(fakeService.html):

<!DOCTYPE html>
<div>
    Data to show: {{$ctrl.userData}}
</div>

HTML 输出(从组件主屏幕调用):

Data to show: Jospeh

JSP(fakeService.jsp):

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<% 
out.print("Test if JSP code is processed.");
%>
<div>
    Data to show: {{$ctrl.userData}}
</div>

JSP 的输出(从组件主屏幕调用):

Test if JSP code is processed. Data to show: {{$ctrl.userData}}

我可以使用 AngularJS + JSP 吗?如果可以的话,为什么这个简单的例子不起作用?

谢谢大家。

最佳答案

我不确定你是如何实现服务器端的。我建议遵循 MVC 设计方法并使模板扩展无关。这是我的项目的示例,

 // route for the home page
 .when('/home', {
     templateUrl : 'home',
     controller  : 'homeController'
 })

在服务器端,我有一个 MVC Controller ,它捕获 uri“/home”,解析 View (这取决于 View 解析器中的逻辑,无论它是 jsp、html 还是其他)并将结果传回。在这种情况下,Angular 不知道服务器端是什么,这也促进了松耦合。

关于javascript - AngularJS:templateUrl 适用于 HTML 模板文件,但不适用于 .JSP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44987324/

相关文章:

javascript - 如何使用 jQuery 滚动到某个元素?

java - 每个线程或每个方法调用的堆栈?

java - JCalendar 获取当前点击的日期

html - 不确定是什么在稍微移动页面

html - 滚动时如何使页面的一部分固定在顶部

javascript - 强制检查 dirtyforms.js

javascript - 如何使用 jquery ajax 将 css 样式添加到动态加载的代码片段

javascript - 在 JavaScript 中从平面数组生成树结构(不使用对象引用)

java - 如何在 Java 中读取 LDAP 密码策略

javascript - 如何在onclick函数中选择动态div