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;
}
}
六、結果圖