1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.seasar.cubby.tags;
17
18 import static org.seasar.cubby.tags.TagUtils.toAttr;
19
20 import java.io.IOException;
21
22 import javax.servlet.http.HttpSession;
23 import javax.servlet.jsp.JspException;
24 import javax.servlet.jsp.JspWriter;
25 import javax.servlet.jsp.PageContext;
26
27 import org.seasar.cubby.controller.ThreadContext;
28 import org.seasar.cubby.util.TokenHelper;
29 import org.seasar.cubby.validator.validators.TokenValidator;
30 import org.seasar.framework.util.StringUtil;
31
32
33
34
35
36
37
38
39
40
41
42
43 public class TokenTag extends DynamicAttributesTagSupport {
44
45 private String name;
46
47 public void setName(final String name) {
48 this.name = name;
49 }
50
51 @Override
52 public void doTag() throws JspException, IOException {
53 final PageContext context = (PageContext) getJspContext();
54 final JspWriter out = context.getOut();
55
56 final String token = TokenHelper.generateGUID();
57 out.append("<input type=\"hidden\" name=\"");
58 if (StringUtil.isEmpty(name)) {
59 out.append(TokenHelper.DEFAULT_TOKEN_NAME);
60 } else {
61 out.append(name);
62 }
63 out.append("\" value=\"");
64 out.append(token);
65 out.append("\" ");
66 out.write(toAttr(getDynamicAttribute()));
67 out.append("/>");
68 final HttpSession session = ThreadContext.getRequest().getSession();
69 TokenHelper.setToken(session, token);
70 }
71 }