1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.seasar.tuigwaa.plugin.misc;
17
18 import org.seasar.tuigwaa.cms.core.CmsRequest;
19 import org.seasar.tuigwaa.cms.core.CmsResponse;
20 import org.seasar.tuigwaa.cms.core.Page;
21 import org.seasar.tuigwaa.plugin.AbstractTgwPlugin;
22 import org.seasar.tuigwaa.plugin.PluginException;
23 import org.seasar.tuigwaa.plugin.PluginRequest;
24
25 import com.isenshi.util.CharUtil;
26
27 public class IncludePlugin extends AbstractTgwPlugin {
28
29 public String doHTMLView(CmsRequest request, CmsResponse response,
30 PluginRequest prequest) throws PluginException {
31 String pagepath = getPageName(prequest);
32 if(pagepath==null||"".equals(pagepath)){
33 return null;
34 }
35
36 assertIncludePage(request, pagepath);
37
38 if (!existPage(request, pagepath)) {
39 return getNoPageMessage(request, pagepath);
40 }
41
42 request.pushScope();
43 Page page = getPage(request, pagepath);
44 request.popScope();
45
46 return page.getContent().toString();
47 }
48
49 private String getPageName(PluginRequest prequest) {
50 String child = (String) prequest.getChild();
51 if (child != null && !child.equals("")) {
52 child = child.trim();
53 child = CharUtil.charpop(child, ' ');
54 return child;
55 }
56 String[] args = prequest.getArgs();
57 if (args == null || args.length < 1 || args[0].trim().equals("")) {
58 return null;
59 }
60 return args[0];
61 }
62 }