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