Java/JSP/Form Beans
Jsp Form And Bean
<source lang="java">
//File: index.html <html>
<body bgcolor= white>
This web page is an example using JSP and BEANs.
Guess my favorite two colors <p> If you fail to guess both of them - you get yellow on red. <p> If you guess one of them right, either your foreground or your background will change to the color that was guessed right. <p> Guess them both right and your browser foreground/background will change to my two favorite colors to display this page.
<form method=GET action=colrs.jsp>
Color #1: <input type=text name= color1 size=16>
Color #2: <input type=text name= color2 size=16>
<p>
<input type=submit name=action value="Submit">
<input type=submit name=action value="Hint">
</form>
</font>
</body>
</html>
///////////////////////////////////////////////////////////
//File: colr.jsp
<html>
<jsp:useBean id="cb" scope="session" class="colors.ColorGameBean" /> <jsp:setProperty name="cb" property="*" /> <%
cb.processRequest(request);
%> <body bgcolor=<%= cb.getColor1() %>> <font size=6 color=<%= cb.getColor2() %>> <p> <% if (cb.getHint()==true) { %>
<p> Hint #1: Vampires prey at night! <p> <p> Hint #2: Nancy without the n.
<% } %> <% if (cb.getSuccess()==true) { %>
<p> CONGRATULATIONS!! <% if (cb.getHintTaken()==true) { %> <p> ( although I know you cheated and peeked into the hints) <% } %>
<% } %>
<p> Total attempts so far: <%= cb.getAttempts() %>
<p>
<p>
<form method=POST action=colrs.jsp>
Color #1: <input type=text name= color1 size=16>
Color #2: <input type=text name= color2 size=16>
<p>
<input type=submit name=action value="Submit">
<input type=submit name=action value="Hint">
</form>
</font>
</body>
</html>
////////////////////////////////////////////////////////////
//File: ColorGameBean.java
/*
- Copyright 2004 The Apache Software Foundation
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- /
package colors; import javax.servlet.http.*; public class ColorGameBean {
private String background = "yellow"; private String foreground = "red"; private String color1 = foreground; private String color2 = background; private String hint = "no"; private int attempts = 0; private int intval = 0; private boolean tookHints = false; public void processRequest(HttpServletRequest request) { // background = "yellow"; // foreground = "red"; if (! color1.equals(foreground)) { if (color1.equalsIgnoreCase("black") || color1.equalsIgnoreCase("cyan")) { background = color1; } } if (! color2.equals(background)) { if (color2.equalsIgnoreCase("black") || color2.equalsIgnoreCase("cyan")) { foreground = color2; } } attempts++; } public void setColor2(String x) { color2 = x; } public void setColor1(String x) { color1 = x; } public void setAction(String x) { if (!tookHints) tookHints = x.equalsIgnoreCase("Hint"); hint = x; } public String getColor2() { return background; } public String getColor1() { return foreground; } public int getAttempts() { return attempts; } public boolean getHint() { return hint.equalsIgnoreCase("Hint"); } public boolean getSuccess() { if (background.equalsIgnoreCase("black") || background.equalsIgnoreCase("cyan")) { if (foreground.equalsIgnoreCase("black") || foreground.equalsIgnoreCase("cyan")) return true; else return false; } return false; } public boolean getHintTaken() { return tookHints; } public void reset() { foreground = "red"; background = "yellow"; } public void setIntval(int value) { intval = value; } public int getIntval() { return intval; }
}
</source>