扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
package com.em.systemmanage.web.action;
成都创新互联网站建设由有经验的网站设计师、开发人员和项目经理组成的专业建站团队,负责网站视觉设计、用户体验优化、交互设计和前端开发等方面的工作,以确保网站外观精美、做网站、网站设计易于使用并且具有良好的响应性。
//导入相关的包
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;
import com.em.bean.ExchFileForm;
import com.em.pub.XmlCreater;
import com.em.systemmanage.dao.ImportDataDao;
//action的名字为ImportDaoAction
public class ImportDaoDataAction extends Action{
//初始化一个私有的日志类,并获取这个类的信息
private Logger logger = Logger.getLogger(this.getClass());
//初始化读取XML的类
private XmlCreater xmlCreater = XmlCreater.getInstance();
//以下为aciton工作代码
public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {
//打印日志
logger.debug("ImportDaoDataAction execute start!");
//实例化ExchFileForm
ExchFileForm fileForm = (ExchFileForm) form;
//判断form是否为空,这里当访问页面时,struts的form类会自动加载页面上传来的信息
if(fileForm == null) {
//为空的情况下,打印nonononono!
logger.debug("nonononononono!");
}
//不为空,获取form传来的file信息
FormFile file = fileForm.getFile();
//打印出11111111
logger.debug("111111111111");
//try catch 捕获异常
try {
logger.debug("22222222222");
//实例化dao类
ImportDataDao dao = new ImportDataDao();
//使用DAO获取file的输入信息,赋值给String类型的变量str
String str = dao.importInvoiceManage(file.getInputStream());
//答应出str的值
logger.debug("str=" + str);
//若str的值等于1
if("1".equals(str)) {
//使用request保存结果result,内容为“导入成功”
request.setAttribute("result", "导入成功!");
} else {
//反之不等于1的话,保存结果result,内容为“失败”
request.setAttribute("result", "导入成本信息失败,请检查您上传的文件是否正确!");
}
//此处在次打印出str的值
logger.debug("str=" + str);
} catch (Exception e) {
//捕获异常
e.printStackTrace();
request.setAttribute("result", "导入成本信息失败,请检查您上传的文件是否正确!");
}
//打印信息"importDaoDataAction execute end!"
logger.debug("importDaoDataAction execute end!");
//返回值,这里返回result,对应的struts的config.xml里会有配置,映射到具体某个页面
return mapping.findForward("result");
}
}
一、作用:1、可以大大的提高开发效率。代码量非常大的项目,在某一行中需要在后续阶段实现一个功能,如果不标注下次再找的时候就非常困难了。2、在团队合作中,还可以告诉别人某处敏感代码的状态。
二、以下为常见的两种注释标记:1、// TODO: 表示在此处将要实现的功能,提醒你在后续阶段将会在此处添加代码

2、// FIXME: 表示此处的代码逻辑有出入,或者根本不能运行,提醒你在后续阶段将会修改此处代码

3、// 在Eclipse中可以自定义标记
例如: // XXX:表示此处的代码虽然实现了功能,但是性能太低,提醒你需要在后续阶段优化;
AudioClip snd = JApplet.new AudioClip(mus);创建一个AudioClip对象
接口AudioClip 继承java.applet所以java.applet也可以不写
记得采纳,祝你好运
//简单选择排序,按自然顺序
public static void selectsort(int[] array){
int min, index, temp;
for(int i = 0; i array.length - 1; i++){ // N - 1 趟
min = i;
//查找选择最小元素值的下标索引值
for(index = i + 1; index array.length; index++){
if(array[min] array[index])
min = index;
}
//交换
if(min != i){
temp = array[min];
array[min] = array[i];
array[i] = temp;
}
}
}
import java.awt.*; // 导入相应的awt工具组件
import java.awt.event.*;// 导入awt工具组件的事件类
/**
* 作用:calc类用于演示加法计算器的功能p
* @author 网络用户
* @version 1.0 2009-6-3
* @since JDK 1.5
*/
class calc extends WindowAdapter implements ActionListener
{
//以下声明相关变量
Frame f; //窗口
// Button b0,b1,b2,b3,b4,b5,b6,b7,b8,b9;
Button b[] = new Button[10]; //10个按钮,分别对应数字0到9
Button be, badd, bc; //bc为=,badd为+,bc为归0按钮
TextField answer; //文本框answer用于显示相加的结果
Panel p; //面板
String s = ""; //临时变量,用于记住被加数
int t1, t2; //t1,t2分别表示被加数,加数
/**
* 作用:main方法为程序运行的入口
* @param args
*/
public static void main( String args[] )
{
calc cg = new calc(); //创建一个calc类的对象
cg.go(); //调用go方法,显示加法器界面,并完成加法功能
}
/**
* 作用:go()方法用于显示加法器界面,并完成加法功能
*/
public void go()
{
p = new Panel(); //创建面板的对象,10个按钮将在此面板对象上添加和显示
answer = new TextField("0", 15); //设置文本框的默认值为0,文本框的长度15个字符
b[0] = new Button("0"); //以下就是那10个按钮,按钮上的文本就是0到9的数字
b[1] = new Button("1");
b[2] = new Button("2");
b[3] = new Button("3");
b[4] = new Button("4");
b[5] = new Button("5");
b[6] = new Button("6");
b[7] = new Button("7");
b[8] = new Button("8");
b[9] = new Button("9");
be = new Button("="); //等号
badd = new Button("+"); //加号
bc = new Button("C"); //归0按钮
p.setLayout(new GridLayout(4, 3)); //将面板设置为4行3列,即12个格子,刚好可以存放地10个数字按钮另加+号按钮和=号按钮,共12个按钮
p.add(b[7]); //添加10个数字按钮到面板上
p.add(b[8]);
p.add(b[9]);
p.add(b[4]);
p.add(b[5]);
p.add(b[6]);
p.add(b[1]);
p.add(b[2]);
p.add(b[3]);
p.add(b[0]);
for( int i = 0; i b.length; i++ )
b[i].addActionListener(this); //为10个数字按钮添加事件监听器,以用于实现加法功能
p.add(be); //添加=号按钮到面板上
p.add(badd); //添加+号按钮到面板上
be.addActionListener(this); //为=号按钮添加事件监听器,用于实现加法功能
badd.addActionListener(this); //为+号按钮添加事件监听器,用于实现加法功能
f = new Frame("calc"); //创建一个Frame对象(窗口),窗口的标题就是calc
f.setSize(300, 300); //窗口的大小为300*300像素
f.add(answer, "North"); //将文本框设置在窗口的北部(上),窗口的默认布局为BorderLayout,即东西南北中5个位置
f.add(p, "Center"); //将面板设置在窗口的中部(中)
f.add(bc, "South"); //将归0按钮设置在窗口的南部(下)
bc.addActionListener(this); //为归0按钮添加事件监听器,用于将计算结果归0
f.addWindowListener(this); //为窗口添加事件监听器,用于实现关闭窗口的功能
f.pack(); //此方法用于窗口到合适的大小
f.setVisible(true); //显示窗口,为false时将不会显示窗口
}
//在10个数字按钮和3个功能按钮上单击,将触发此方法
public void actionPerformed( ActionEvent e )
{
if( e.getSource() == bc )
{//单击了归0按钮,设置为默认值
s = "";
t1 = 0; //被加数设0
t2 = 0; //加数设0
answer.setText("0"); //文本框设为0
} else if( e.getSource() == badd )
{//单击+号按钮
t1 = Integer.parseInt(s); //记下被加数
s = "";
} else if( e.getSource() == be )
{//单击=号按钮
t2 = Integer.parseInt(s); //记下加数
t2 = t2 + t1; //把被加数与加数相加
answer.setText((new Integer(t2)).toString()); //在文本框上显示相加的结果
} else
{//单击0到9之间的任意一个数字按钮
for( int i = 0; i b.length; i++ )
if( e.getSource() == b[i] )
{
System.out.println("1");
s = s + b[i].getActionCommand(); //获得被单击按钮上的数字
answer.setText(s); //在文本框上显示连续单击那几个数字
}
}
}
//关闭窗口,触发此方法
public void windowClosing( WindowEvent ev )
{
System.exit(0); //退出程序
}
}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流