`
summer_021
  • 浏览: 57998 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

Struts1_学习笔记2_struts0200_trainnig_cal

 
阅读更多
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>  
分享到:
评论

相关推荐

    Struts_01源代码

    6. **03_struts_trainnig_cal**: 可能是一个日历或者训练计划管理的应用,展示了Struts处理复杂业务逻辑的能力,比如数据持久化、事务管理等。 7. **07_struts_actionform**: ActionForm是Struts中的表单类,它用于...

    struts1做的计算器

    项目文件`struts_trainnig_cal`可能包含以下内容: 1. `struts-config.xml`:这是Struts1的配置文件,定义了Action的映射、数据源、消息资源等。 2. `web.xml`:Web应用的部署描述符,配置了Servlet和过滤器,包括...

    Trainnig-React-2020年3月

    Trainnig-React-2020年3月

    图书管理系统设计以及论文(单链表)

    提供的实训资料《Trainnig_base》可能包括系统源代码、设计文档、测试数据等,学生可以通过阅读源代码学习单链表的实现方式,结合设计文档理解系统的整体架构,利用测试数据进行功能验证和性能优化。 总结,图书...

    matlab的素描代码-TAKITO:高藤

    这是一个基于机器学习,Arduino和一些电子产品的项目。我设计了可以将手势转换为语音的手套(数据手套)。 这是第一个几乎没有基本硬件支持的原型。 入门 该项目包含两个Matlab脚本和一个用于数据传输的arduino代码...

Global site tag (gtag.js) - Google Analytics