1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.struts2.components;
19
20 import java.io.Writer;
21 import java.util.Map;
22
23 import com.opensymphony.xwork2.util.ValueStack;
24
25 /***
26 * <!-- START SNIPPET: javadoc -->
27 *
28 * <p>Perform basic condition flow. 'If' tag could be used by itself or with 'Else If' Tag and/or single/multiple 'Else'
29 * Tag.</p>
30 *
31 * <!-- END SNIPPET: javadoc -->
32 *
33 * <!-- START SNIPPET: params -->
34 *
35 * no params
36 *
37 * <!-- END SNIPPET: params -->
38 *
39 *
40 * <pre>
41 * <!-- START SNIPPET: example -->
42 * <s:if test="%{false}">
43 * <div>Will Not Be Executed</div>
44 * </s:if>
45 * <s:elseif test="%{true}">
46 * <div>Will Be Executed</div>
47 * </s:elseif>
48 * <s:else>
49 * <div>Will Not Be Executed</div>
50 * </s:else>
51 * <!-- END SNIPPET: example -->
52 * </pre>
53 *
54 * @s.tag name="else" bodycontent="JSP" description="Else tag" tld-tag-class="org.apache.struts2.views.jsp.ElseTag"
55 */
56 public class Else extends Component {
57 public Else(ValueStack stack) {
58 super(stack);
59 }
60
61 public boolean start(Writer writer) {
62 Map context = stack.getContext();
63 Boolean ifResult = (Boolean) context.get(If.ANSWER);
64
65 context.remove(If.ANSWER);
66
67 return !((ifResult == null) || (ifResult.booleanValue()));
68 }
69 }