我在 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/