我为我的示例spring surf应用程序创建了一个支持的java Web脚本。在我的班级中,我正在设置模型对象的列表,但是当我在模板中迭代列表时,什么都没有。它的空白。 我的代码是:
@Controller
public class Example extends AbstractWebScript{
@Override
public void execute(WebScriptRequest req, WebScriptResponse res)throws IOException {
System.out.println("java backed webscripts called");
System.out.println("BOOM");
Map<String, Object> model = new HashMap<String, Object>();
HttpServletRequest httpRequest = ServletUtil.getRequest();
if(AuthenticationUtil.isAuthenticated(httpRequest)){
model.put("userId", AuthenticationUtil.getUserId(httpRequest));
}else{
model.put("userId", "guest");
}
Writer writer = res.getWriter();
String templatePath = "webscripts/example.get.html.ftl";
//Java
List<String> cityList = new ArrayList<String>();
cityList.add("Washington DC");
cityList.add("Delhi");
cityList.add("Berlin");
cityList.add("Paris");
cityList.add("Rome");
model.put("username", "ranveer");
model.put("cityList", cityList);
((WebScriptServletRequest) req).getHttpServletRequest().getSession().setAttribute("lastName", "singh");
renderTemplate(templatePath, createTemplateParameters(req, res, model), writer);
writer.flush();
writer.close();
}
我如何迭代此列表?任何人都可以帮忙或我做错了吗?我正在创建这样的应用程序:
这些链接1,链接2和链接3是标题部分,它将转到下一页。所有框都是所有将转到同一页面的组件。我将这些所有框作为组件,以便我可以包含它们
我的desc文件看起来像:
<webscript>
<shortname>Industry</shortname>
<description>Returns the main page content for the index page.</description>
<url>/home/box1</url>
</webscript>
我的ftl文件如下:
<#if renderer == "horizontal">
<@horizontal page=rootpage showChildren=true/>
</#if>
<#macro horizontal page showChildren>
<#-- Children of Home Page -->
<#list sitedata.findChildPages(page.id) as parentPage>
<li>
<#assign href = linkbuilder.page(parentPage.id, context.formatId)>
<#assign classId = ''>
<#if parentPage.id == context.page.id>
<#assign classId = 'current'>
</#if>
<a href='${href}' id='${classId}'>${parentPage.title}
</a>
</li>
</#list>
</#macro>
我希望这个渲染器使用java web-scripts。 我创建了它正在工作的页面的页面关联但是当我尝试主页(框)时,关联发生在标题和主页面中。你能帮助我如何使用java web-scripts进行页面关联?有没有你可以推荐我的样品。