Action:
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
CalActionForm caf = (CalActionForm)form;
int value1 = caf.getValue1();
int value2 = caf.getValue2();
String flag = caf.getFlag();
int result = 0;
try {
if ("+".equals(flag)) {
result = value1 + value2;
}else if ("-".equals(flag)) {
result = value1 - value2;
}else if ("*".equals(flag)) {
result = value1 * value2;
}else if ("/".equals(flag)) {
result = value1 / value2;
}
request.setAttribute("result", result);
return mapping.findForward("success");
}catch(Exception e) {
e.printStackTrace();
}
return mapping.findForward("error");
}
输入页面:
html<h1>简易计算器</h1>
<hr>
<form action="action/cal" method="post">
<input type="text" name="value1">
<select name="flag">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
<input type="text" name="value2">
<input type="submit" value="=">
</form>
结果页面:
<%
CalActionForm caf = (CalActionForm)request.getAttribute("testForm");
%>
<%=caf.getValue1() %>
<%=caf.getFlag() %>
<%=caf.getValue2() %>
=
<%=request.getAttribute("result") %>
配置页面:
<form-beans>
<form-bean name="calForm" type="com.aowin.struts.CalActionForm"/>
</form-beans>
<!-- 默认scope为session -->
<action-mappings>
<action path="/cal"
type="com.aowin.struts.CalAction"
name="calForm"
scope="request"
attribute="testForm"
>
<!-- path:必须以/开头 -->
<forward name="success" path="/success.jsp"/>
<forward name="error" path="/error.jsp"/>
</action>
</action-mappings>
web.xml配置说明:
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<!-- Struts配置文件路径 -->
<param-name>config</param-name>
<param-value>/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>2</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<!-- Standard Action Servlet Mapping -->
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
分享到:
相关推荐
6. **03_struts_trainnig_cal**: 可能是一个日历或者训练计划管理的应用,展示了Struts处理复杂业务逻辑的能力,比如数据持久化、事务管理等。 7. **07_struts_actionform**: ActionForm是Struts中的表单类,它用于...
项目文件`struts_trainnig_cal`可能包含以下内容: 1. `struts-config.xml`:这是Struts1的配置文件,定义了Action的映射、数据源、消息资源等。 2. `web.xml`:Web应用的部署描述符,配置了Servlet和过滤器,包括...
Trainnig-React-2020年3月
提供的实训资料《Trainnig_base》可能包括系统源代码、设计文档、测试数据等,学生可以通过阅读源代码学习单链表的实现方式,结合设计文档理解系统的整体架构,利用测试数据进行功能验证和性能优化。 总结,图书...
这是一个基于机器学习,Arduino和一些电子产品的项目。我设计了可以将手势转换为语音的手套(数据手套)。 这是第一个几乎没有基本硬件支持的原型。 入门 该项目包含两个Matlab脚本和一个用于数据传输的arduino代码...