我想创建一个自定义JSP标记,如下所示。
<ng:template src="../js/Rule/templates/rule-list.jsp" />
实际上包含文件&#34; ../ js / Rule / templates / rule-list.jsp&#34;在脚本标记内并生成HTML,如下所示。
<script type="text/ng-template" id="../js/Rule/templates/rule-list.jsp">
Content of ../js/Rule/templates/rule-list.jsp file
</script>
到目前为止,我已经创建了以下标记文件。
<%@ attribute name="src" required="true" rtexprvalue="true" %>
<script type="text/ng-template" id="${src}">
<%@ include file="${src}" %>
</script>
哪个给出了这个错误
文件&#34; $ {src}&#34;找不到
意味着它试图包含其值{$ src}。任何人都可以建议如何将文件包含在指定属性值的标记文件中吗?
注意:我正在使用angularjs。我想在没有ajax调用的情况下加载angularjs模板。因为我的浏览器无法加载带有AJAX调用的ng-template以解决跨域调用问题。
答案 0 :(得分:0)
void imprimir( const ConjuntoPreguntas& cp ){
ConjuntoPreguntas::const_iterator it= cp.cbegin();
};
int main(){
ConjuntoPreguntas CP;
ifstream fin("PreguntasConstitucion.txt");
fin >> CP;
imprimir(CP);
}
class ConjuntoPreguntas{
private:
map<int,Pregunta> preguntas;
public:
class const_iterator; /
class iterator{
private:
map<int,Pregunta>::const_iterator it;
public:
iterator & operator++(){
++it;
}
iterator & operator--(){
--it;
}
pair<const int,Pregunta> &operator *(){
return *it;
}
bool operator ==(const iterator &i){
return i.it==it;
}
bool operator !=(const iterator &i){
return i.it!=it;
}
friend class ConjuntoPreguntas;
friend class const_iterator;
};
/**
* @brief clase para iterar sobre la guia
**/
class const_iterator{
private:
map<int,Pregunta>::iterator it;
public:
const_iterator & operator++(){
++it;
}
const_iterator & operator--(){
--it;
}
const pair<const int,Pregunta> &operator *(){
return *it;
}
bool operator ==(const const_iterator &i){
return i.it==it;
}
bool operator !=(const const_iterator &i){
return i.it!=it;
}
friend class ConjuntoPreguntas;
};
/**
* @brief Inicializa un iterator al comienzo de la guia
* */
**iterator begin(){
iterator i;
i.it=preguntas.begin();
return i;
}
const_iterator cbegin()const{
const_iterator i ;
i.it = preguntas.begin();
return i ;
}
/**
const_iterator cbegin(){
const_iterator i ;
i.it = preguntas.begin();
return i ;
}
*/
/**
* @brief Inicializa un iterator al final de la guia
* */
iterator end(){
iterator i;
i.it=preguntas.end();
return i;
}
const_iterator cend()const{
const_iterator i;
i.it= preguntas.end();
return i;
}
/* const_iterator cend(){
const_iterator i;
i.it= preguntas.end();
return i;
}
*/**
};
目录是一个特殊目录,不是您的Web(Servlet)应用程序的公共目录树的一部分。
Servlet Specification州(第70页左右):
名为的应用程序层次结构中存在一个特殊目录 “WEB-INF”。该目录包含与之相关的所有内容 应用程序不在应用程序的文档根目录中。的的 WEB-INF节点不是公共文档树的一部分 应用程序。不能提供WEB-INF目录中包含的文件 由容器直接发送给客户端。但是,内容了 使用
WEB-INF
和,可以看到WEB-INF目录对servlet代码getResource
上的getResourceAsStream
方法调用可能是ServletContext
使用RequestDispatcher调用公开。
AngularJS无法在您的Web应用程序WEB-INF文件夹中看到任何文件夹,因为它没有&#34;连接&#34;它。
您必须将这些模板文件添加到公共文件夹中,并通过Angular模板文件进行查看。
答案 1 :(得分:0)
知道了。我需要使用动态包含
<jsp:include page="${src}" />
这很好。