eclipse做struts框架的工资计算情况
Wage
- 一、安装好eclipse
- 二、新建一个Dynamic Web Project
- 三、所需jar包
- 四、目录
- 五、代码
- (1)、在web.xml中配置(添加以下代码
- (2)、建一个输入界面InputEmployee.jsp
- (3)、新建一个struts.xml文件,并配置
- (4)、新建 PayrollAction包,包中FulltimeTeacherAction行为类
- (5)、新建 Ex2_Payroll包,包中新建 Employee类
- (6)、在 Ex2_Payroll包,包中新建FulltimeTeacher类
- (7)、ShowCalResult.jsp
- (8)、在 Ex2_Payroll包,包中新建 ParttimeTeacher类
- 六、结果图
一、安装好eclipse
(1)添加jdk
1、下载好jdk,并在我的此属性–高级系统设置–环境变量–系统变量
2、Window+r键,打开cmd,输入java -version(如下图,已经成功)。
(2)添加Tocat
二、新建一个Dynamic Web Project
三、所需jar包
链接:https://pan.baidu.com/s/1I3E9KUH_2wQMhnAo6MogOA
提取码:m787
四、目录
五、代码
(1)、在web.xml中配置(添加以下代码
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
(2)、建一个输入界面InputEmployee.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>本院全职教师工资计算</title>
</head>
<body>
<s:form action='FulltimeTeacher'>
<div style="text-align:center">本院全职教师工资计算</div>
<s:textfield name="name" label="姓名"/> <br />
<s:textfield name="title" label="职称" /><br />
<s:textfield name="hour" label="本月超额课时" /><br />
<s:submit value="计算" name = "Cal" /> <s:reset value="重填" />
</s:form>
</body>
</html>
(3)、新建一个struts.xml文件,并配置
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.devMode" value="true" />
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
<package name="example" extends="struts-default">
<action name="*FulltimeTeacher" class="PayrollAction.FulltimeTeacherAction" method="{1}">
<result name="success">ShowCalResult.jsp</result>
<result name="error">Error.jsp</result>
<result name="input">InputEmployee.jsp</result>
</action>
</package>
</struts>
(4)、新建 PayrollAction包,包中FulltimeTeacherAction行为类
package PayrollAction;
import java.text.SimpleDateFormat;
import PayrollAction.FulltimeTeacherAction;
import Ex2_Payroll.FulltimeTeacher;
import com.opensymphony.xwork2.ActionSupport;
public class FulltimeTeacherAction extends ActionSupport {
private String name;
private String title;
private Float hour;
private Float wage;
private String onboardtime;
public FulltimeTeacherAction()
{
onboardtime=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss E").format(java.util.Calendar.getInstance().getTime());
}
public String CalculateWage()
{
try
{
FulltimeTeacher teacher = new FulltimeTeacher();
teacher.setName(name);
teacher.setTitle(title);
System.out.println(hour);
teacher.setExtraclasshour(hour);
teacher.calculateWage();
wage =teacher.getWage();
//
if (wage>0)
return SUCCESS;
else
{
return INPUT;
}
}
catch(Exception e)
{
return ERROR;
}
}
public String SetDefault() {
return SUCCESS;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setTitle(String title) {
this.title = title;
}
public String getTitle() {
return title;
}
public void setHour(Float hour) {
this.hour = hour;
}
public Float getHour() {
return hour;
}
public void setWage(Float wage) {
this.wage = wage;
}
public Float getWage() {
return wage;
}
public String getOnboardtime() {
return onboardtime;
}
public void setOnboardtime(String onboardtime) {
this.onboardtime = onboardtime;
}
}
(5)、新建 Ex2_Payroll包,包中新建 Employee类
package Ex2_Payroll;
abstract class Employee
{
private String name;
private String title;
private float wage;
Employee(String name,String title)
{
this.name = name;
this.title = title;
}
Employee()
{
}
abstract void calculateWage() ;
public float getWage() {
return wage;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setTitle(String title) {
this.title = title;
}
public String getTitle() {
return title;
}
protected void setWage(float wage)
{this.wage = wage;}
}
(6)、在 Ex2_Payroll包,包中新建FulltimeTeacher类
package Ex2_Payroll;
import java.util.Date;
public class FulltimeTeacher extends Employee
{
private float basicwage;
private float extraclasshour;
public FulltimeTeacher(String name,String title)
{
super(name,title);
}
public FulltimeTeacher(String name,String title,Date d)
{
super(name,title);
}
public FulltimeTeacher()
{
}
public void calculateWage()
{
if (this.getTitle().equals("副教授"))
this.setWage(this.extraclasshour*80+4000) ;
if (this.getTitle().equals("教授"))
this.setWage(this.extraclasshour*100+5000) ;
}
public void setBasicwage(float basicwage) {
this.basicwage = basicwage;
}
public float getBasicwage() {
return basicwage;
}
public void setExtraclasshour(float extraclasshour) {
this.extraclasshour = extraclasshour;
}
public float getExtraclasshour() {
return extraclasshour;
}
public static void main(String[] args) {
}
}
(7)、ShowCalResult.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%request.setCharacterEncoding("utf-8"); %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>工资情况一览</title>
</head>
<body>
你好!<s:property value="name" /></br>
职称为:<s:property value="title" /></br>
超额课时为:<s:property value="hour" /></br>
工资为: <s:property value="wage" /> </br>
<s:property value="onboardtime" /><br />
</body>
</html>
(8)、在 Ex2_Payroll包,包中新建 ParttimeTeacher类
package Ex2_Payroll;
public class ParttimeTeacher extends Employee
{
private float classhour;
public ParttimeTeacher(String name,String title,java.util.Date time)
{super(name,title);}
public void calculateWage()
{
if (this.getTitle().equals("副教授"))
this.setWage( this.getClasshour()*100);
if (this.getTitle().equals("教授"))
this.setWage(this.getClasshour()*150) ;
}
public void setClasshour(float classhour) {
this.classhour = classhour;
}
public float getClasshour() {
return classhour;
}
}
六、结果图