如何在Magnolia Blossom中调用AJAX?
我是新来的木兰花 我必须在Blossom中的应用程序中执行如何在Magnolia Blossom中调用AJAX?,ajax,magnolia,Ajax,Magnolia,我是新来的木兰花 我必须在Blossom中的应用程序中执行AJAX调用。 我们每个组件都有一个控制器。因此,我无法发出AJAX请求 有人能建议我如何实现这一点吗?您可以定义一个不同的Servlet(和web应用程序上下文),您可以定义一个Servlet来处理从/rest/*开始的所有请求,然后在web.xml上定义该Servlet。 剩下的都是配置,试着看看如何创建具有2种不同上下文的webapp。进入servlet容器的请求无法访问用于呈现内容的控制器。没有内容,它们就毫无用处,无法产生有意义
AJAX
调用。
我们每个组件都有一个控制器。因此,我无法发出AJAX
请求
有人能建议我如何实现这一点吗?您可以定义一个不同的Servlet(和web应用程序上下文),您可以定义一个Servlet来处理从/rest/*开始的所有请求,然后在web.xml上定义该Servlet。
剩下的都是配置,试着看看如何创建具有2种不同上下文的webapp。进入servlet容器的请求无法访问用于呈现内容的控制器。没有内容,它们就毫无用处,无法产生有意义的输出。您需要一个单独的DispatcherServlet来处理这些AJAX请求 有两种方法可以实现这一点。您可以将新的DispatcherServlet添加到web.xml,也可以将servlet添加到安装模块时安装的模块中 后者是更好的选择,因为您不需要有两个单独的ApplicationContext。启动时在模块中创建的一个将是两个DispatcherServlets的父级,因此两者都可以访问其中的bean。您也不需要更新web.xml,这使得模块的安装和升级变得更容易 在模块描述符中添加以下代码段:
<servlets>
<servlet>
<name>dispatcher</name>
<class>org.springframework.web.servlet.DispatcherServlet</class>
<mappings>
<mapping>/ajax/*</mapping>
</mappings>
<params>
<param>
<name>contextConfigLocation</name>
<value>classpath:/ajax-servlet.xml</value>
</param>
</params>
</servlet>
</servlets>
调度员
org.springframework.web.servlet.DispatcherServlet
/阿贾克斯/*
上下文配置位置
类路径:/ajax-servlet.xml
这一点以及其他主题在Magnolia wiki中进行了描述根据您想要获得的内容,您还可以使用Magnolia的REST模块。例如,要阅读网站的标题,您可以拨打
http://localhost:8080/magnoliaAuthor/.rest/properties/v1/website/demo-项目/网站标题
更多详细信息,请访问
您还可以使用REST模块,通过注释源代码,轻松添加自己的端点
嗯,,
JanHi@sigget,我可以说得更清楚一些,因为我对开花很陌生。blossom中的模块描述符是什么?是*module.xml文件吗?如果我们在这里添加,那么下一步要做什么?如果您有任何示例,它将更有帮助。谢谢。是的,模块描述符是您的src/main/resources/META-INF/magnolia/.xml文件。更新后,需要重新安装模块。ajax-servlet.xml文件的内容是什么。在模块描述符中配置之后,我们如何编写特定于AJAX调用的控制器。如果我们可以通过ajax请求访问控制器,那么我们就可以编写一个简单的spring控制器。是否正确?ajax-servlet.xml将是一个普通的springbean定义xml文件。写控制器是普通的Spring样式。