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