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