ssh 上傳圖片實現

java action:

package com.metarnet.action;


import java.io.File;
import java.io.IOException;


import org.apache.commons.io.FileUtils;
import org.apache.log4j.Logger;
import org.apache.struts2.ServletActionContext;


import com.metarnet.model.Json;
import com.metarnet.model.User;
import com.metarnet.model.XueYuan;
import com.metarnet.service.UserManager;
import com.metarnet.service.XueYuanManager;
import com.metarnet.util.ExceptionUtil;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ModelDriven;


public class XueYuanAction extends BaseAction implements ModelDriven<XueYuan> {


private static final long serialVersionUID = 6691953659316604810L;
private XueYuanManager xueYuanManager;
private XueYuan xueYuan = new XueYuan();
Logger metarnetos_log = Logger.getLogger(getClass());
private User user;
private UserManager userManager;


public UserManager getUserManager() {
return userManager;
}


public void setUserManager(UserManager userManager) {
this.userManager = userManager;
}


public XueYuanManager getXueYuanManager() {
return xueYuanManager;
}


public void setXueYuanManager(XueYuanManager xueYuanManager) {
this.xueYuanManager = xueYuanManager;
}


public XueYuan getXueYuan() {
return xueYuan;
}


public void setXueYuan(XueYuan xueYuan) {
this.xueYuan = xueYuan;
}


public XueYuan getModel() {
return xueYuan;
}


public User getUser() {
return user;
}


public void setUser(User user) {
this.user = user;
}


/**
* 跳轉到頁面

* @return
*/
public String xueyuanReq() {
return SUCCESS;
}


/**
* 跳轉到查看頁面

* @return
*/
public String sXueYuan() {
return SUCCESS;
}


/**
* 獲得用戶datagrid
*/
public void datagrid() {
writeJson(xueYuanManager.datagrid(xueYuan));
}


/**
* 添加
*/
public void add() {
Json j = new Json();
//設置頭像
getGetImage();
try {
String msgs = xueYuanManager.add(xueYuan);
if (!msgs.equals("")) {
j.setMsg(msgs);
} else {
xueYuanManager.adduser(xueYuan.getXingming());
xueYuanManager.adduserrole(xueYuan.getXingming());
j.setMsg("添加成功!");
}
j.setSuccess(true);
} catch (Exception e) {
j.setMsg("添加失敗!");
metarnetos_log.error(ExceptionUtil.getExceptionMessage(e));
}
writeJson(j);
}
    
/**
* 上傳頭像
* */
public void getGetImage() {


// 頭像處理


File upTouXiang = xueYuan.getTouxiang();


if (upTouXiang != null) {
            
String RealPath = ServletActionContext.getServletContext()
.getRealPath("/album");
File file = new File(RealPath);
if (!file.exists()) {
file.mkdirs();
}
try {
FileUtils.copyFile(upTouXiang,
new File(file, xueYuan.getXueyuanid() + ".jpg"));
} catch (IOException e) {
e.printStackTrace();
}
String path = RealPath + "/" + xueYuan.getXueyuanid();
ServletActionContext.getRequest().setAttribute("realpath", path);
//將頭像地址保存數據庫
xueYuan.setTouxiangdizhi(xueYuan.getXueyuanid() + ".jpg");
}
}


/**
* 編輯
*/
public void edit() {
Json j = new Json();
//設置頭像
getGetImage();
try {
String msgs = xueYuanManager.edit(xueYuan);
j.setSuccess(true);
if (!msgs.equals("")) {
j.setMsg(msgs);
} else {
j.setMsg("編輯成功!");
}
} catch (Exception e) {
metarnetos_log.error(ExceptionUtil.getExceptionMessage(e));
j.setMsg("編輯失敗!");
}
writeJson(j);
}


/**
* 刪除
*/
public void delete() {
Json j = new Json();
// String id=xueYuan.getIds();
xueYuanManager.delete(xueYuan.getIds());
j.setSuccess(true);
writeJson(j);
}


/**
* 獲得班級下拉列表
*/
public void qiBanCombobox() {
writeJson(xueYuanManager.combobox());
}


/**
* 單獨頁面
*/
public String selectXueYuan() {
/*
* String flag=ServletActionContext.getRequest().getParameter("flag");
* if(flag!=null&&flag.equals("1")){

* xueYuanManager.editByName(xueYuan); }
*/


try {
xueYuan = xueYuanManager.selectByName();
} catch (Exception e) {
return "noXueYuan";
}
ServletActionContext.getRequest().setAttribute("table", xueYuan);
return SUCCESS;
}


public String editByName() {
xueYuanManager.editByName(xueYuan);
ServletActionContext.getRequest().setAttribute("table", xueYuan);
return SUCCESS;
}


/**
* 從主頁面學生個人註冊

* @return
*/
public String xueyuanReg() {
Json j = new Json();
try {
String msgs = xueYuanManager.add(xueYuan);
if (!msgs.equals("")) {
j.setMsg(msgs);
} else {
xueYuanManager.adduser(xueYuan.getXingming());
xueYuanManager.adduserrole(xueYuan.getXingming());
j.setMsg("添加成功!");
}
j.setSuccess(true);
} catch (Exception e) {
j.setMsg("添加失敗!");
metarnetos_log.error(ExceptionUtil.getExceptionMessage(e));
}
// writeJson(j);
ServletActionContext.getRequest().setAttribute("msg", j.getMsg());
return SUCCESS;
}
}

html  and jsp:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>XueYuanManager</title>
<jsp:include page="../inc.jsp"></jsp:include>
<script language="javascript" type="text/javascript"
src="../check/moble.js"></script>
<script language="javascript" type="text/javascript"
src="../check/postcode.js"></script>
<script language="javascript" type="text/javascript"
src="../check/qq5.js"></script>
<style>
#topwenzi {opacity:0;
filter: alpha(opacity: 
0 );
position: absolute;
top: -99999px;
right: 0px;
width: 0px;
height: 0px;
z-index
}
</style>
<script type="text/javascript" charset="utf-8">
var searchForm;
var editRow = undefined;
var datagrid;
var addAndEditScenarioForm;
var addAndEditScenarioDialog;
$(function() {
searchForm = $('#searchForm').form();


addAndEditScenarioForm = $('#addAndEditScenarioForm').form();
addAndEditScenarioDialog = $('#addAndEditScenarioDialog').show()
.dialog({
modal : true,
buttons : [ {
text : '確定',
handler : function() {


$('#addAndEditScenarioForm').form('submit', {
url : url,
onSubmit : function() {
return $(this).form('validate');
},
success : function(data) {


var d = $.parseJSON(data);
addAndEditScenarioDialog.dialog('close');
$('#datagrid').datagrid('reload');
editRow = undefined;
resetContent('addAndEditScenarioForm');
datagrid.datagrid('unselectAll');
$.messager.show({
msg : d.msg,
title : '提示'
});
}
});
}
} ]
}).dialog('close');


datagrid = $('#datagrid')
.datagrid(
{
url : 'datagridXueYuan',
/*title : '用戶列表(admin擁有所有權限,不需要更改角色)',*/
iconCls : 'icon-save',
pagination : true,
pagePosition : 'bottom',
pageSize : 10,
pageList : [ 10, 20, 30, 40 ],
fit : true,
fitColumns : false,
striped : true,
nowrap : false,
border : false,
idField : 'xueyuanid',
sortName : 'xingming',
sortOrder : 'desc',
striped : true,
frozenColumns : [ [ {
title : '編號',
field : 'xueyuanid',
width : 100,
sortable : true,
checkbox : true
}, {
title : '姓名',
field : 'xingming',
width : 100,
sortable : true,
editor : {
type : 'validatebox',
options : {
required : true
}
}
} ] ],
columns : [ [ {
title : '期班',
field : 'qibanmingcheng',
width : 100,
sortable : true,
editor : {
type : 'validatebox',


}
}, {
title : '學號',
field : 'xuehao',
width : 100,
sortable : true,
editor : {
type : 'validatebox',
options : {
required : true
}
}
}, {
title : '部職別',
field : 'zhiwu',
width : 200,
sortable : true,
editor : {
type : 'validatebox'
}
}, {
title : '軍銜',
field : 'junxian',
width : 100,
sortable : true,
editor : {
type : 'validatebox'
}
}, {
title : '專業',
field : 'zhuanye',
width : 100,
sortable : true,
editor : {
type : 'validatebox'
}
}, {
title : '手機號',
field : 'shoujihao',
width : 100,
sortable : true,
editor : {
type : 'validatebox'
}
} ] ],
toolbar : [
{
text : '增加',
iconCls : 'icon-add',
handler : function() {
resetContent('addAndEditScenarioForm');
add();
document.getElementById('xingming')
.focus();
}
},
'-',
{
text : '刪除',
iconCls : 'icon-remove',
handler : function() {
del();
}
},
'-',
{
text : '修改',
iconCls : 'icon-edit',
handler : function() {
resetContent('addAndEditScenarioForm');
edit();
document.getElementById('xingming')
.focus();
datagrid.datagrid('unselectAll');
datagrid
.parent()
.find(
"div .datagrid-header-check")
.children(
"input[type='checkbox']")
.eq(0).attr("checked",
false);
}
},
'-',
{
text : '取消選中',
iconCls : 'icon-undo',
handler : function() {
datagrid.datagrid('unselectAll');
datagrid
.parent()
.find(
"div .datagrid-header-check")
.children(
"input[type='checkbox']")
.eq(0).attr("checked",
false);
}
}, '-' ],
onDblClickRow : function(rowIndex, rowData) {
resetContent('addAndEditScenarioForm');
edit();
document.getElementById('xingming').focus();
datagrid.datagrid('unselectAll');
datagrid.parent().find(
"div .datagrid-header-check").children(
"input[type='checkbox']").eq(0).attr(
"checked", false);
}


});


});


function _search() {
datagrid.datagrid('load', sy.serializeObject(searchForm));
}
function cleanSearch() {
datagrid.datagrid('load', {});
searchForm.find('input').val('');
}


function add() {
if (sy.isAuth("dialogAddXueYuan")) {
addAndEditScenarioDialog.dialog('open').dialog('setTitle', '註冊信息');


//addAndEditScenarioForm.find('input').val('');
url = 'addXueYuan';
/*
datagrid.datagrid('unselectAll');
var row = {
xueyuanid : sy.UUID()
};
datagrid.datagrid('appendRow', row);
editRow = datagrid.datagrid('getRows').length - 1;
datagrid.datagrid('selectRow', editRow);
datagrid.datagrid('beginEdit', editRow);
*/
}
}


function del() {
var rows = datagrid.datagrid('getSelections');
var ids = [];
if (rows.length > 0) {
$.messager.confirm('請確認', '您要刪除當前所選項目?', function(r) {
if (r) {
for ( var i = 0; i < rows.length; i++) {
ids.push(rows[i].xueyuanid);
}
$.ajax({
url : 'deleteXueYuan',
data : {
ids : ids.join(',')
},
dataType : 'json',
success : function(response) {
datagrid.datagrid('load');
datagrid.datagrid('unselectAll');
$.messager.show({
title : '提示',
msg : '刪除成功!'
});
datagrid.datagrid('unselectAll');
datagrid.datagrid('rejectChanges');
datagrid.parent()
.find("div .datagrid-header-check")
.children("input[type='checkbox']").eq(0)
.attr("checked", false);
}
});
}
});
} else {
$.messager.alert('提示', '請選擇要刪除的記錄!', 'error');
}
}
function edit() {
if (sy.isAuth("dialogEditXueYuan")) {
var rows = datagrid.datagrid('getSelected');
var r = datagrid.datagrid('getSelections');
if (r.length == 1) {
if (rows) {
addAndEditScenarioDialog.dialog('open').dialog('setTitle',
'註冊信息');
$('#addAndEditScenarioForm').form('load', rows);
url = 'editXueYuan';
} else {
$.messager.show({
msg : '請選擇一項進行修改!',
title : '錯誤'
});
}
} else {
$.messager.show({
msg : '只能選擇一項進行修改!',
title : '錯誤'
});


}
}
}
//頭像上傳
function addAvatar() {
//if (sy.isAuth("dialogEditXueYuan")) {
var addAvatarDialog = $('#addAvatarDialog').show();
addAvatarDialog.dialog('open').dialog('setTitle', '頭像上傳');;
//.dialog('open')
// .dialog('setTitle', '頭像上傳');
// addAvatarDialog
//$('#addAvatarForm').form('load');


//}
}


function resetContent(formId) {
var clearForm = document.getElementById(formId);
if (null != clearForm && typeof (clearForm) != "undefined") {
clearForm.reset();
}
}
$(document).ready(function() {


/* //相當於select的onchange事件  
$('#buzhibie').combo({
onChange : function(newValue, oldValue) {
if (newValue != '空值' && newValue != '其他') {
$("#shiyuanlv").css('display', 'block');


}
}
}); */
});
</script>
</head>
<body class="easyui-layout">
<div region="north" border="false" title="查詢條件"
style="height: 60px; overflow: hidden;" align="left">
<form id="searchForm">
<table class="tableForm datagrid-toolbar"
style="width: 100%; height: 100%;">
<tr>
<td><label>姓&nbsp;&nbsp;名:</label><input name="xingming"
style="width: 120px;" />&nbsp;&nbsp;&nbsp;&nbsp; <label>學&nbsp;&nbsp;號:</label><input
name="xuehao" style="width: 120px;" maxlength="11" />&nbsp;&nbsp;&nbsp;&nbsp;
<label>期班名稱:</label> <input name="qibanmingcheng"
style="width: 120px;" /> <a href="javascript:void(0);"
class="easyui-linkbutton" οnclick="_search();">查詢</a> <a
href="javascript:void(0);" class="easyui-linkbutton"
οnclick="cleanSearch();">無條件查詢</a></td>
</tr>
</table>
</form>
</div>
<div region="center" border="false">
<table id="datagrid"></table>
</div>
<div id="menu" class="easyui-menu" style="width: 120px; display: none;">
<div οnclick="add();" iconCls="icon-add">增加</div>
<div οnclick="del();" iconCls="icon-remove">刪除</div>
<div οnclick="edit();" iconCls="icon-edit">編輯</div>
</div>


<!--學員註冊form -->
<div id="addAndEditScenarioDialog"
style="width: 1000px; height: 450px;">
<form id="addAndEditScenarioForm" method="post" enctype="multipart/form-data">
<div id="p1" class="easyui-panel" style="width: 970px;"
data-options="title:'基本信息',iconCls:'icon-save',collapsible:true">
<table class="tableForm" style="width: 100%;" align="center" border="1">
<tr>
<td><label>姓名</label></td>
<td><input type="text" name="xingming" id="xingming"
class="easyui-validatebox" data-options="required:true"
editable="false" /></td>
<td><label>性別</label></td>
<td><select name="xingbie" class="easyui-combobox"
data-options="panelHeight:'auto'" editable="false">
<option value="男">男</option>
<option value="女">女</option>
</select></td>
<td><label>學號</label></td>
<td><input type="text" name="xuehao" maxlength="11"
class="easyui-validatebox" data-options="required:true"
editable="false" style="width: 150px;" /></td>
<td><label>籍貫</label></td>
<td><input type="text" class="easyui-text" name="jiguan"
style="width: 122px;" /></td>

<td rowspan="3" style="width:100px"><img src='圖片路徑' name="touxiangdizhi"></td>
</tr>
<tr>
<td><label>期班</label></td>
<td><input class="easyui-combobox" name="qibanmingcheng"
data-options="
url:'qiBanCombobox',
valueField:'qibanmingcheng',
textField:'qibanmingcheng',
multiple:false,
required:true,
panelHeight:'auto',
remoteSort:true"
editable="false"></td>


<td><label>文化程度</label></td>
<td><select class="easyui-combobox"
data-options="panelHeight:'auto'" name="xueli" editable="false">
<option value="博士">博士</option>
<option value="研究生">研究生</option>
<option value="大學" selected>本科</option>
<option value="高中">高中</option>
</select></td>




<td><label>婚姻狀況</label></td>
<td><select class="easyui-combobox"
data-options="panelHeight:'auto'" name="hunyinzhuangkuang"
editable="false">
<option value="已婚">已婚</option>
<option value="未婚" selected>未婚</option>
</select></td>
<td><label>民族</label></td>
<td><input type="text" class="easyui-text" name="minzu"
style="width: 122px;" /> <input type="hidden" name="companyid" />
<input type="hidden" name="xueyuanid" /></td>
</tr>
<tr>
<td><label>密碼</label></td>
<td><input type="password" name="mima"
class="easyui-validatebox" maxlength="36" value="000000" /></td>
<td><label>出生年月</label></td>
<td><input type="text" name="chushengriqi"
class="easyui-datebox" editable="false" /></td>
<td><label>證件號</label></td>
<td><input type="text" name="zhengjianhao"
οnkeyup="value=value.replace(/[^\d]/g,'') " maxlength="18"
style="width: 150px;" /></td>
<td><label>房間號</label></td>
<td><input type="text" name="fangjianhao"
class="easyui-validatebox" style="width: 60px" /></td>
</tr>


<tr>
<td><label>單位</label></td>
<td><input type="text" class="easyui-text" name="danwei" /></td>
<td><label>軍銜</label></td>
<td><input type="text" class="easyui-text" name="junxian"
style="width: 122px;" /></td>
<td><label>部職別</label></td>
<td colspan="4">
<!-- 軍區分類 --> <select id="buzhibie" class="easyui-combobox"
style="display: none; width: 60px;" name="buzhibie"
editable="false" data-options="required:true">
<option value="沈空">沈空</option>
<option value="北空" selected="selected">北空</option>
<option value="濟空">濟空</option>
<option value="成空">成空</option>
<option value="南空">南空</option>
<option value="廣空">廣空</option>
<option value="空直">空直</option>
<option value="其他">其他</option>
</select> <input type="text" name="shiyuanlvcontext"
class="easyui-validatebox" style="width: 80px;" />
<!-- 師旅院分類 -->
<select id="shiyuanlv" class="easyui-combobox"
data-options="panelHeight:'auto'" name="shiyuanlv"
editable="false" style="width: 40px;">
<option value="師">師</option>
<option value="旅">旅</option>
<option value="院">院</option>


</select> <input type="text" name="tuancontext" style="width: 60px;">
<!-- 團分類 --> <select id="tuan" class="easyui-combobox"
data-options="panelHeight:'auto'" name="tuan" editable="false"
style="width: 40px;">
<option value="團">團</option>
</select> <input type="text" name="xiangxicontext" style="width: 100px;">
<label><input
              type="file" name="touxiang" size="0" style = "width:1px" ContentEditable="false" /><u><font color="blue">上傳頭像</font></u></label>
</td>
</tr>
<tr>
<td rowspan="3"><label>簡歷</label></td>
<td rowspan="3" colspan="8"><textarea name="jianli"
style="height: 60px; width: 100%"></textarea></td>
</tr>
<tr></tr>
<tr></tr>
</table>
</div>
<div id="p2" class="easyui-panel" style="width: 970px;"
data-options="title:'聯繫信息',iconCls:'icon-save', collapsible:true">
<table class="tableForm" style="width: 100%;" align="center">
<tr>
<td><label>手機號碼</label></td>
<td><input type="text" maxlength="11"
οnkeyup="value=value.replace(/[^\d]/g,'') " name="shoujihao"
id="shouji" οnblur="isMobile(document.getElementById('shouji'));" /></td>
<td><label>QQ號碼</label></td>
<td><input type="text"
οnkeyup="value=value.replace(/[^\d]/g,'') " name="qqhao"
id="qqhao" οnblur="isQQ(document.getElementById('qqhao'));" /></td>
<td><label>郵編</label></td>
<td><input type="text" maxlength="6"
οnkeyup="value=value.replace(/[^\d]/g,'') " name="youbian"
id="youbian"
οnblur="isPostalCode(document.getElementById('youbian'));" /></td>
<td><label>E-mail</label></td>
<td><input type="text" class="easyui-validatebox"
data-options="validType:'email'" name="email" /></td>
</tr>
<tr>
<td><label>家庭電話</label></td>
<td><input type="text"
οnkeyup="value=value.replace(/[^\d]/g,'') " name="jiatingdianhua"
maxlength="11" /></td>
<td><label>家庭聯繫人</label></td>
<td><input type="text" class="easyui-text"
name="jiatinglianxiren" /></td>
<td><label>單位電話</label></td>
<td><input type="text"
οnkeyup="value=value.replace(/[^\d]/g,'') " name="danweidianhua"
maxlength="11" /></td>
<td><label>單位聯繫人</label></td>
<td><input type="text" class="easyui-text"
name="danweilianxiren" /></td>
</tr>
<tr>
<td><label>家庭住址</label></td>
<td colspan="3"><input type="text" class="easyui-text"
name="jiatingzhuzhi" /></td> 
</tr>
<!-- <tr>
<td colspan="8"><textarea style="height: 60px; width: 500px"
name="jiatingzhuzhi"></textarea></td>
</tr> -->
</table>
<font color="red"> <!-- 注意事項,用紅色標記 -->
<table class="tableForm" style="width: 100%;" align="center">
<tr>
<td colspan="7"><label>***注意***</label></td>
</tr>
<tr>
<td>&nbsp;&nbsp;1、“部職別”如果沒有可用的選項,請選擇其他,手動輸入;<br>
&nbsp;&nbsp;2、“部職別”填寫一定要詳細到中隊。
</td>
</tr>
</table>
</font>
</div>


</form>
</div>
<!--上傳頭像form -->
<!-- <div id="addAvatarDialog" style="width: 60px; height: 80px;"
class="easyui-panel" data-options="title:'基本信息',iconCls:'icon-save',collapsible:true">
<form id="addAvatarForm" method="post" enctype="multipart/form-data">
文件標題:<input type="text" name="title" size="50" /><br /> 選擇文件:<input
type="file" name="upload" size="50" /><br /> <input type="submit"
value=" 上傳頭像 " />
</form> 


</div> -->
</body>
</html>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章