在同一个jsp页面需要把select值传给下一个select,当jsp点击图片触发事件时触发到下个select,怎么解决

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&利用EL表达式巧妙设置页面中select默认值
相信很多人都有过这样的经历,当修改某个记录的时候希望原来值就是默认选中的;写标签又觉得又臭又长;在网上看到有用EL表达式巧妙实现这个功能的,分享给大家;
使用EL的三目运算符:
${obj.question_status==7? selected :
还有比较巧妙的,就是在JS代码中直接设置select的value:question_status为select的id
$( #question_status ).val( ${obj.question_status} );
Ps:select 有属性id 、name、value ,value属性一般有option中确认出来,也可以直接设置;
利用EL表达式巧妙设置页面中select默认值由用户自行发布,利用EL表达式巧妙设置页面中select默认值内容不代表本站立场,请自行分辨真伪。下次自动登录
现在的位置:
& 综合 & 正文
(一)上传图片至服务器,写入到数据库Blob字段中,以及从数据库读取Blob信息(iframe父子页面传值)
(二)上传图片至服务器,写入到数据库Blob字段中,以及从数据库读取Blob信息(iframe父子页面传值)
最近做了个用户维护功能,涉及到照片的操作。
照片是存到数据库oracle中的Blob字段中。
难点有两个:
1,图片的上传;2,Blob字段的读取。
先说图片的上传吧,
我使用common-fileupload来实现的
写个servlet,实现上传到服务器。
UpPhotoServlet.java
package org.hd.tempuser.
import java.io.*;
import java.util.ArrayL
import java.util.I
import java.util.L
import javax.servlet.RequestD
import javax.servlet.ServletE
import javax.servlet.http.HttpS
import javax.servlet.http.HttpServletR
import javax.servlet.http.HttpServletR
import mons.fileupload.FileI
import mons.fileupload.FileItemF
import mons.fileupload.disk.DiskFileItemF
import mons.fileupload.servlet.ServletFileU
import org.hd.util.BlobU
import org.hd.util.RamdomU
public class UpPhotoServlet extends HttpServlet {
public UpPhotoServlet(){
public void destroy(){
super.destroy();
* Handles GET requests 处理下载请求
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
doPost(request, response);
* Handles POST requests 处理上传请求
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
response.setContentType("text/html");
response.setHeader("Cache-Control", "no-cache");
//IntoLineService intoLineService = (IntoLineService)ContainerManager.getComponent(IntoLineService.BEAN_ID);
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
String jobNumber="";
if(request.getParameter("jobNumber")!=null){
jobNumber=request.getParameter("jobNumber").trim();
///////////////////
final long MAX_SIZE = 6 * 1024 * 1024;// 设置上传文件最大为 3M
final int TEMP_MAX_SIZE = 6 * 1024 * 1024;// 设置上传文件最大为 3M
// 允许上传的文件格式的列表
final String[] allowedExt = new String[] { "jpg", "jpeg", "gif", "txt","doc", "docx", "mp3", "wma", "m4a" };
// 文件上傳部分
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (isMultipart == true) {
DiskFileItemFactory
factory = new DiskFileItemFactory();
factory.setSizeThreshold(TEMP_MAX_SIZE);
factory.setRepository(new File(request.getSession().getServletContext().getRealPath("/") + "StrutsImagesUploadTemp"));
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setSizeMax(MAX_SIZE);
// 得到所有的表单域,它们目前都被当作FileItem
List&FileItem& fileItems = upload.parseRequest(request);
for(int i=0;i&fileItems.size();i++){
FileItem ff=(FileItem)fileItems.get(i);
if(ff.isFormField()){
// 如果item是正常的表单域
String ffname = ff.getFieldName();
String ffvalue = ff.getString();
if(ffname.trim().equals("gonghao")){
jobNumber=
Iterator&FileItem& iter = fileItems.iterator();
if(fileItems==null||fileItems.size()==0){
// 依次处理每个表单域
while (iter.hasNext()) {
FileItem item =
String path =
long size = 0;
item = (FileItem) iter.next();
if(item == null ||item.isFormField()){
// 如果item是正常的表单域
String name = item.getFieldName();
String value = item.getString();
System.out.print("表单域名为:"+name+"表单域值为:"+value);
if(name.trim().equals("gonghao")){
jobNumber=
// 得到文件的完整路径
// 如果item是文件上传表单域
// 获得文件名及路径
path = item.getName();
size = item.getSize();
if ("".equals(path) || size == 0) {
String fileName = item.getName();
System.out.println("item.getName()----"+fileName);
if (fileName != null) {
File fullFile = new File(item.getName());
// 如果文件存在则上传
// if(fullFile.exists()){
File fileOnServer = new File(BlobUtil.makeDirByParamForOds(jobNumber, BlobUtil.DirTypeTempupload),
fullFile.getName());
String temprepath=BlobUtil.makeDirByParamForOdsRealPath(jobNumber,BlobUtil.DirTypeTempupload)+BlobUtil.getFileSuffix(fileName);
String temprepathxie=BlobUtil.makeDirByParamForOds(jobNumber,BlobUtil.DirTypeTempupload)+BlobUtil.getFileSuffix(fileName);
String serpp=BlobUtil.BASE_PATH+
File fileOnServer = new File(serpp);
//删除已经存在的文件
if(fileOnServer.exists()&&fileOnServer.isFile()){
fileOnServer.delete();
item.write(fileOnServer);
String forWrite="\\\\tempphoto"+
String forWebShow="/tempphoto"+
request.getSession().setAttribute("tempupload"+jobNumber, "/tempphoto"+temprepathxie);
out.write(temprepathxie);
//加参数(随机数)防止浏览器从缓存中读取图片
String ramStr=RamdomUtil.getRamdomDateStr();
String contextpp=request.getContextPath()+"/tempphoto"+temprepathxie+"?randomStr="+ramS
String htmlstr=" &img src=\""+contextpp+"\" width=\"75px\" height=\"95px\" id=\"person_img\"/&";
htmlstr+="&script&";
htmlstr+="parent.window.rebackUrl('"+forWebShow+"','"+forWrite+"');";
htmlstr+="";
htmlstr+="";
htmlstr+="";
htmlstr+="&/script&";
out.write(htmlstr);
&img src="&%=path%&/resource/images/preson_img.jpg" width="75px" height="95px" id="person_img"/&
System.out.println("文件"+fileOnServer.getName()+"上传成功");
} catch (Exception e) {
e.printStackTrace();
System.out.println("the enctype must be multipart/form-data");
// 跳回原頁面
// RequestDispatcher dispatcher = request
.getRequestDispatcher("/web/page/uploadtoserver.jsp");
// dispatcher.forward(request, response);
//////////////////
//out.write("YES");
out.close();
web.xml配置servlet
&servlet-name&upphoto&/servlet-name&
&servlet-class&
org.hd.tempuser.serv.UpPhotoServlet
&/servlet-class&
&/servlet&
&servlet-mapping&
&servlet-name&upphoto&/servlet-name&
&url-pattern&/upphoto/upphotoServlet&/url-pattern&
&/servlet-mapping&
要说的有以下几点:
common-fileupload已经帮你读文件了,你做的只是确定要写的文件。
这个你只要获取工程的实际路径并创建相应的目录,对应好文件名即可。
说白了就是你要提供要写的文件的path。
还有一点,文件上传后,使用PrintWriter输出html
(response.setContentType("text/html");)
这个html代码就是你上传完后在页面看到的效果,
我加了一段js,可以调用父页面的方法。
注意:照片只是一个字段,为了不让返回的页面整个变化,我使用了iframe。
就是照片的页面在一个iframe中。
所以这就涉及到iframe父子页面传值的问题(怎么传,我的代码已经有例子了。)
另外,上传图片成功后我会把图片的一个url返回给页面以便在页面显示你上传的图片,
这是url后面需要加一个随即参数,不加的话,如果第二次再显示修改后的照片,你会发现
图片的url是正确的(鼠标右键查看),但显示的却是原先的图片!
原因就是浏览器缓存!只要url没有变,浏览器就从缓存中读取图片,所以你加一个随即的参数
让url每次都不一样就可以了,浏览器每次都不从缓存中读。
随机参数随便写,不一样就可以,例如RamdomUtil.java
package org.hd.
import java.text.SimpleDateF
import java.util.D
import java.util.R
public class RamdomUtil {
public static String getRamdomIntStr(){
String res="";
Random random1 = new Random();
res=String.valueOf(random1.nextInt()).trim();
public static String getRamdomDateStr(){
String res="";
Date dd=new Date();
SimpleDateFormat
sdf=new SimpleDateFormat("yyyyMMddHHmmss");
res=sdf.format(dd);
public static void main(String[]dsf){
RamdomUtil.getRamdomIntStr();
System.out.println(RamdomUtil.getRamdomDateStr());
新增用户页面add_user.jsp
&%@ page language="java" contentType="text/ charset=UTF-8" pageEncoding="UTF-8"%&
&%@ taglib uri="/struts-tags" prefix="s"%&
&%@ page import="org.hd.tempuser.model.TempUser" %&
String path = request.getContextPath();
String addSuccess = "";
if(request.getAttribute("addSuccess")!=null){
addSuccess=(String)request.getAttribute("addSuccess");
&html lang="en" xmlns="http://www.w3.org/1999/xhtml"&
&meta http-equiv="Content-Type" content="text/ charset=utf-8" /&
&link href="&%=path%&/resource/css/style.css" rel="stylesheet" type="text/css" /&
&script src="&%=path%&/script/jquery-1.7.1.js" type="text/javascript"&&/script&
&script src="&%=path%&/script/queryHeader.js" type="text/javascript"&&/script&
&script src="&%=path%&/script/main.js" type="text/javascript"&&/script&
&script src="&%=path%&/script/plugin/plugin_core.js" type="text/javascript"&&/script&
&script src="&%=path%&/script/plugin/calendar/calendar_util.js" type="text/javascript"&&/script&
&script src="&%=path%&/script/plugin/calendar/calendar.js" type="text/javascript"&&/script&
&script src="&%=path%&/script/hd/validate.js" type="text/javascript"&&/script&
&body style="background:#828282"&
&input type="hidden" id="path" value="&%=path%&" /&
&input type="hidden" id="addSuccess" value="&%=addSuccess%&" /&
&div style="overflow-y:scroll"&
&form id="formadd" method="post" action="&%=path%&/tempUser/addTempUser.action"&
&input type="hidden" id="localPhotoUrl" name="localPhotoUrl" value="" /&
&input type="hidden" id="sex"
name="addTempUser.sex" value="" /&
&input type="hidden" id="job_level"
name="addTempUser.job_level" value="" /&
&input type="hidden" id="remark" name="addTempUser.remark"
value="" /&
&table width="100%" height="30" border="0" cellspacing="0" cellpadding="0" id="box_title"&
&td class="left" width="6"&&/td&
&td class="title"&新增坐席&/td&
&table width="100%" height="160px" border="0" cellspacing="0" cellpadding="0" class="nbox11" style="padding-left:6px"&
&div class="contentBody"&
&table class="nbox14 blackn12" border="0" cellspacing="0" cellpadding="0" width="800px"&
&td class="td1"&账号:&/td&&td class="td2"&&input type="text"
name="addTempUser.uname" class="inputbox1" id="uname" style="width:175" value=""/&&/td&
&td class="td1"&性别:&/td&&td class="td2"&&select style="width: 178 height: 21px" id="fakesex" class="blackn12" name="addTempUser.fakesex"&&option value=''&...请选择&/option&&option value='男'&男&/option&&option value='女'&女&/option&&/select&&/td&
&td class="td1"&密码:&/td&&td class="td2"&&input type="text"
name="addTempUser.upass" class="inputbox1" id="upass" style="width:175" value=""/&&/td&
&td class="td1"&姓名:&/td&&td class="td2"&&input type="text"
name="addTempUser.realname" class="inputbox1" id="realname" style="width:175" value=""/&&/td&
&td class="td1"&邮件地址:&/td&&td class="td2"&&input type="text"
name="addTempUser.email" class="inputbox1" id="email" style="width:175" value=""/&&/td&
&td class="td1"&手机号码:&/td&&td class="td2"&&input type="text"
name="addTempUser.cellphone" class="inputbox1" id="cellphone" style="width:175" value=""/&&/td&
&td class="td1"&分机:&/td&&td class="td2"&&input type="text"
name="addTempUser.ext" class="inputbox1" id="ext" style="width:175" value=""/&&/td&
&td class="td1"&电话:&/td&&td class="td2"&&input type="text"
name="addTempUser.phone" class="inputbox1" id="phone" style="width:175" value=""/&&/td&
&td class="td1"&职级:&/td&&td class="td2"&&select style="width: 178 height: 21px" id="fakejob_level" class="blackn12" name="addTempUser.fakejob_level"&&option value=''&...请选择&/option&&option value='坐席'&坐席&/option&&option value='坐席班长'&坐席班长&/option&&/select&&/td&
&td class="td1"&&/td&
&td class="td2"&
&div style="background:#f3f3f3"&
&table width="100%" height="50px" border="0" cellpadding="0" cellspacing="0" id="box_foot"&
&td style="height:50width:160text-align:padding-right:12font-size:12 color:#333; "&备注:&/td&
&td style="height:50width:50text-align:"&
&textarea rows="3" cols="26"
name="addTempUser.fakeremark" id="fakeremark" &
&/textarea&
&td style="height:50width:80text-align:padding-right:12font-size:12 color:#333; "&照片:&/td&
&td style="height:50text-align:"&
&iframe src="&%=path%&/jsp/hd/home/usermanage/photo.jsp" name="photoframe" width="300px" height="100px" scrolling="auto"&
&div style="background:#padding-top:20"&
&table width="100%" height="30px" border="0" cellspacing="0" cellpadding="0" class="nbox11" style="padding-left:6px"&
&td style="width:20%;text-align:padding-right:12"&
&td style="width:20%;text-align:padding-right:20"&
&input type="button"
value="提交" onclick="tijiao()" /&
&td style="width:30%;text-align:padding-left:35"&
&input type="button"
value="取消" onclick="cancelBack()" /&
&td style="width:30%;text-align:padding-left:12"&
&table width="100%" height="50px" border="0" cellspacing="0" cellpadding="0" class="nbox11" style="padding-left:6px"&
&div class="contentBody"&&table class="nbox14 blackn12" border="0" cellspacing="0" cellpadding="0" width="800px"&
&td class="td2"&&/td&
&td class="td2"&
&table width="100%" height="10" border="0" cellpadding="0" cellspacing="0" id="box_foot"&
&td class="left" width="7"&&/td&
&td class="mid"& &/td&
&td class="right" width="7"&&/td&
var path=document.getElementById("path").
var addSuccess=document.getElementById("addSuccess").
if($.trim(addSuccess)=="addSuccess"){
//alert("addSuccess");
var urlpath=path+"/tempUser/listTempUser.action";
window.location.href=
function cancelBack(){
var urlpath=path+"/tempUser/listTempUser.action";
window.location.href=
function testformsubmit(){
var testform=document.getElementById("testform");
testform.submit();
function getUploadPhotoUrl(){
type: "POST",
url: "some.php",
data: "name=John&location=Boston",
success: function(msg){
alert( "Data Saved: " + msg );
addTempUser(){
var urlpath=path+"/tempUser/addTempUser.action";
type: "POST",
url: "some.php",
data: "name=John&location=Boston",
success: function(msg){
alert( "Data Saved: " + msg );
function tijiao(){
$("#sex").val($("#fakesex").val());
$("#job_level").val($("#fakejob_level").val());
$("#remark").val($("#fakeremark").val());
//alert($("#sex").val()+$("#job_level").val()+$("#remark").val());
if (validateAddTempUser()) {
$('#formadd').submit();
function validateAddTempUser(){
var flag=//成功为true
var alertStr="";
var uname=$('#uname').val();
var upass=$('#upass').val();
var realname=$('#realname').val();
var email=$('#email').val();
var cellphone=$('#cellphone').val();
var ext=$('#ext').val();
var phone=$('#phone').val();
var job_level=$('#fakejob_level').val();
var remark=$('#remark').val();
var sex=$("#fakesex").val();
var localPhotoUrl=$("#localPhotoUrl").val();
if(ValidateUtil.isNull(uname)){
alertStr+="账号不可为空!\r\n";
if(ValidateUtil.isNull(sex)){
alertStr+="请选择性别!\r\n";
if(ValidateUtil.isNull(job_level)){
alertStr+="请选择职级!\r\n";
if(ValidateUtil.isNull(localPhotoUrl)){
alertStr+="请上传照片!\r\n";
if(!flag){
alert(alertStr);
var isRightUploadPhotoFalg=
function shangchuan(){
isRightUploadPhotoFalg=
var photoUrl = document.getElementById("uploadPhoto").
var jobNumber=$('#uname').val();
var urlpath=path+"/tempUser/uploadPhotoToTempDir.action?photoUrl="+photoUrl+"&jobNumber="+jobN
var tempUrl="";
type: "POST",
url: urlpath,
success: function(msg){
var mm=$.trim(msg);
if(msg=="NO"){
tempUrl=path+
//js换图片
var hhtt="&img src=\""+tempUrl+"\" id=\"tempPhotoFileUrl\"/&";
$("#uploadPhotoView").html(hhtt);
//uploadPhotoViewParent
$("#uploadPhotoViewParent").html("");
$("#uploadPhotoViewParent").hide();
isRightUploadPhotoFalg=
alert(mm);
document.getElementById("localPhotoUrl").value=
function strutsUpload(){
alert("strutsUpload");
var strutsFormPhoto=document.getElementById("strutsFormPhoto");
strutsFormPhoto.submit();
$("#uname").blur( function () {
//给子页面赋值
var jobnum=document.getElementById("uname").
window.frames[0].window.receivJobNum(jobnum);
function tt(){
alert("tt");
//上传成功后,需要页面显示图片的web路径和在服务器上的路径
function rebackUrl(showurl,writeurl){
//alert(showurl+"--"+writeurl);
document.getElementById("localPhotoUrl").value=
里面嵌套的照片页面photo.jsp
&%@ page language="java" contentType="text/ charset=UTF-8" pageEncoding="UTF-8"%&
&%@ taglib uri="/struts-tags" prefix="s"%&
&%@ page import="org.hd.tempuser.model.TempUser" %&
String path = request.getContextPath();
String addSuccess = "";
if(request.getAttribute("addSuccess")!=null){
addSuccess=(String)request.getAttribute("addSuccess");
&html lang="en" xmlns="http://www.w3.org/1999/xhtml"&
&meta http-equiv="Content-Type" content="text/ charset=utf-8" /&
&link href="&%=path%&/resource/css/style.css" rel="stylesheet" type="text/css" /&
&script src="&%=path%&/script/jquery-1.7.1.js" type="text/javascript"&&/script&
&body style="background:#f3f3f3"&
&input type="hidden" id="path" value="&%=path%&" /&
请上传图片
&form id="testform" action="&%=path%&/upphoto/upphotoServlet" method="post" enctype="multipart/form-data"&
&input type="file"
id="testfile" name="uploadPhoto" class="inputbox1" style="width:175" value=""/&
&input type="hidden"
id="gonghao" name="gonghao" value=""/&
&input type="hidden"
id="jobNumberTest" name="jobNumberTest" value="gh.value"/&
&input type="button"
value="上传" onclick="testformsubmit()" /&
var path=document.getElementById("path").
function testformsubmit(){
var testform=document.getElementById("testform");
var gonghao=document.getElementById("gonghao").
if(gonghao==null||gonghao==""||gonghao=="null"){
alert("请先输入账号!");
testform.submit();
function gg(){
//调用父页面方法
parent.window.tt();
function receivJobNum(jobnum){
document.getElementById("gonghao").value=
编辑用户的时候也需要编辑照片,但这个逻辑稍稍不一样,还是一个编辑页面,iframe中嵌套一个照片页面。
user_edit.jsp
&%@ page language="java" contentType="text/ charset=UTF-8" pageEncoding="UTF-8"%&
&%@ taglib uri="/struts-tags" prefix="s"%&
&%@ page import="org.hd.tempuser.model.TempUser" %&
String path = request.getContextPath();
String tempuserid="";
if(request.getParameter("tempuserid")!=null){
tempuserid=(String)request.getParameter("tempuserid");
String editSuccess = "";
if(request.getAttribute("editSuccess")!=null){
editSuccess=(String)request.getAttribute("editSuccess");
&html lang="en" xmlns="http://www.w3.org/1999/xhtml"&
&meta http-equiv="Content-Type" content="text/ charset=utf-8" /&
&link href="&%=path%&/resource/css/style.css" rel="stylesheet" type="text/css" /&
&script src="&%=path%&/script/jquery-1.7.1.js" type="text/javascript"&&/script&
&script src="&%=path%&/script/queryHeader.js" type="text/javascript"&&/script&
&script src="&%=path%&/script/main.js" type="text/javascript"&&/script&
&script src="&%=path%&/script/plugin/plugin_core.js" type="text/javascript"&&/script&
&script src="&%=path%&/script/plugin/calendar/calendar_util.js" type="text/javascript"&&/script&
&script src="&%=path%&/script/plugin/calendar/calendar.js" type="text/javascript"&&/script&
&script src="&%=path%&/script/hd/validate.js" type="text/javascript"&&/script&
&body style="background:#828282"&
&input type="hidden" id="path" value="&%=path%&" /&
&input type="hidden" id="tempuserid" value="&%=tempuserid%&" /&
&input type="hidden" id="editSuccess" value="&%=editSuccess%&" /&
&form id="formedit" method="post" action="&%=path%&/tempUser/submitEditTempUser.action"&
&input type="hidden" id="ischangePhoto" name="ischangePhoto" value="NO" /&
&input type="hidden" id="localPhotoUrl" name="localPhotoUrl" value="" /&
&input type="hidden" id="oldlocalPhotoUrl" name="oldlocalPhotoUrl" value="&s:property value='#request.editTempUser.tempUrl.trim()'/&
&input type="hidden" id="hduid" name="editTempUser.hduid" value="&s:property value='#request.editTempUser.hduid.trim()'/&
&input type="hidden" id="sex"
name="editTempUser.sex" value="" /&
&input type="hidden" id="job_level"
name="editTempUser.job_level" value="" /&
&input type="hidden" id="remark" name="editTempUser.remark"
value="" /&
&!-- 临时转换值 --&
&input type="hidden" id="tempsex"
value="&s:property value='#request.editTempUser.sex'/&" /&
&input type="hidden" id="tempjob_level"
value="&s:property value='#request.editTempUser.job_level'/&" /&
&table width="100%" height="30" border="0" cellspacing="0" cellpadding="0" id="box_title"&
&td class="left" width="6"&&/td&
&td class="title"&编辑坐席信息&/td&
&table width="100%" height="160px" border="0" cellspacing="0" cellpadding="0" class="nbox11" style="padding-left:6px"&
&div class="contentBody"&
&table class="nbox14 blackn12" border="0" cellspacing="0" cellpadding="0" width="800px"&
&td class="td1"&账号:&/td&&td class="td2"&&input type="text" value="&s:property value='#request.editTempUser.uname'/&
" name="editTempUser.uname" class="inputbox1" id="uname" style="width:175" &/td&
&td class="td1"&性别:&/td&&td class="td2"&&select style="width: 178 height: 21px" id="fakesex" class="blackn12" name="editTempUser.fake"&&option value=''&...请选择&/option&&option value='男'&男&/option&&option value='女'&女&/option&&/select&&/td&
&td class="td1"&密码:&/td&&td class="td2"&&input type="text" value="&s:property value='#request.editTempUser.upass'/&"
name="editTempUser.upass" class="inputbox1" id="upass" style="width:175" &/td&
&td class="td1"&姓名:&/td&&td class="td2"&&input type="text"
value="&s:property value='#request.editTempUser.realname'/&"
name="editTempUser.realname" class="inputbox1" id="realname" style="width:175" &/td&
&td class="td1"&邮件地址:&/td&&td class="td2"&&input type="text"
value="&s:property value='#request.editTempUser.email'/&"
name="editTempUser.email" class="inputbox1" id="email" style="width:175" &/td&
&td class="td1"&手机号码:&/td&&td class="td2"&&input type="text"
value="&s:property value='#request.editTempUser.cellphone'/&"
name="editTempUser.cellphone" class="inputbox1" id="cellphone" style="width:175" &/td&
&td class="td1"&分机:&/td&&td class="td2"&&input type="text"
value="&s:property value='#request.editTempUser.ext'/&"
name="editTempUser.ext" class="inputbox1" id="ext" style="width:175" &/td&
&td class="td1"&电话:&/td&&td class="td2"&&input type="text"
value="&s:property value='#request.editTempUser.phone'/&" name="editTempUser.phone" class="inputbox1" id="phone" style="width:175" &/td&
&td class="td1"&职级:&/td&&td class="td2"&&select style="width: 178 height: 21px" id="fakejob_level" class="blackn12" name="editTempUser.fake"&&option value=''&...请选择&/option&&option value='坐席'&坐席&/option&&option value='坐席班长'&坐席班长&/option&&/select&&/td&
&td class="td1"&&/td&&td class="td2"&&/td&
&div style="background:#f3f3f3"&
&table width="100%" height="50px" border="0" cellpadding="0" cellspacing="0" id="box_foot"&
&td style="height:50width:160text-align:padding-right:12font-size:12 color:#333; "&备注:&/td&
&td style="height:50width:50text-align:"&
&textarea rows="3" cols="26"
name="editTempUser.fakeremark" id="fakeremark" &
&s:property value='#request.editTempUser.remark'/&
&/textarea&
&td style="height:50width:80text-align:padding-right:12font-size:12 color:#333; "&照片:&/td&
&td style="height:50text-align:"&
&div id="photoshow" &
&img src="&%=path%&&s:property value='#request.editTempUser.tempUrl'/&" width="75px" height="95px" id="person_img"/&
&input type="button"
onclick="editPhotoFunc()" value="编辑照片" /&
&div id="photoiframe" style="background:#f3f3f3;display:none"&
&iframe src="&%=path%&/jsp/hd/home/usermanage/editphoto.jsp" name="photoframe" width="300px" height="100px" scrolling="auto"&
&div style="background:#padding-top:20"&
&table width="100%" height="30px" border="0" cellspacing="0" cellpadding="0" class="nbox11" style="padding-left:6px"&
&td style="width:20%;text-align:padding-right:12"&
&td style="width:20%;text-align:padding-right:20"&
&input type="button"
value="提交" onclick="tijiao()" /&
&td style="width:30%;text-align:padding-left:35"&
&input type="button"
value="返回" onclick="javascript:history.back(-1);" /&
&td style="width:30%;text-align:padding-left:12"&
&table width="100%" height="50px" border="0" cellspacing="0" cellpadding="0" class="nbox11" style="padding-left:6px"&
&div class="contentBody"&&table class="nbox14 blackn12" border="0" cellspacing="0" cellpadding="0" width="800px"&
&td class="td2"&&/td&
&td class="td2"&
&table width="100%" height="10" border="0" cellpadding="0" cellspacing="0" id="box_foot"&
&td class="left" width="7"&&/td&
&td class="mid"& &/td&
&td class="right" width="7"&&/td&
var path=document.getElementById("path").
var editSuccess=document.getElementById("editSuccess").
if($.trim(editSuccess)=="editSuccess"){
//alert("editSuccess");
var urlpath=path+"/tempUser/listTempUser.action";
window.location.href=
//下拉框赋值
var sexone=$.trim($("#tempsex").val());
setSelectValue('fakesex',sexone);
var jobone=$.trim($("#tempjob_level").val());
setSelectValue('fakejob_level',jobone);
function setSelectValue(sid,va){
var strva=$.trim(va);
var opt = document.getElementById(sid);
for (var i = 0; i & opt. i++) {
if($.trim(opt[i].innerText)==strva){
opt.options[i].selected=
function editPhotoFunc(){
$("#photoiframe").show();
$("#photoshow").hide();
function cancelEditPhotoFunc(){
$("#photoshow").show();
$("#photoiframe").hide();
function testformsubmit(){
var testform=document.getElementById("testform");
testform.submit();
function tijiao(){
var ssxx=$.trim($("#fakesex").val());
$("#sex").val(ssxx);
var jobll=$.trim($("#fakejob_level").val());
$("#job_level").val(jobll);
var fakrem=$.trim($("#fakeremark").val());
$("#remark").val(fakrem);
//alert($("#sex").val()+$("#job_level").val()+$("#remark").val());
if (validateAddTempUser()) {
$('#formedit').submit();
function validateAddTempUser(){
var flag=//成功为true
var alertStr="";
var uname=$('#uname').val();
var upass=$('#upass').val();
var realname=$('#realname').val();
var email=$('#email').val();
var cellphone=$('#cellphone').val();
var ext=$('#ext').val();
var phone=$('#phone').val();
var job_level=$('#fakejob_level').val();
var remark=$('#remark').val();
var sex=$("#fakesex").val();
var localPhotoUrl=$("#localPhotoUrl").val();
var ischangePhoto=$.trim($("#ischangePhoto").val());
if(ValidateUtil.isNull(uname)){
alertStr+="账号不可为空!\r\n";
if(ValidateUtil.isNull(sex)){
alertStr+="请选择性别!\r\n";
if(ValidateUtil.isNull(job_level)){
alertStr+="请选择职级!\r\n";
if(ischangePhoto=="YES"){
var local=$.trim($("#localPhotoUrl").val());
if(local==""){
alertStr+="请上传照片!\r\n";
document.getElementById("localPhotoUrl").value=document.getElementById("oldlocalPhotoUrl").
if(!flag){
alert(alertStr);
$("#uname").blur( function () {
//给子页面赋值
var jobnum=document.getElementById("uname").
window.frames[0].window.receivJobNum(jobnum);
//给子页面赋值,这个是为了子页面调用
function geivUnameToChild(){
var jobnum=document.getElementById("uname").
window.frames[0].window.receivJobNum(jobnum);
function tt(){
alert("tt");
//上传成功后,需要页面显示图片的web路径和在服务器上的路径
function rebackUrl(showurl,writeurl){
//alert(showurl+"--"+writeurl);
$("#ischangePhoto").val("YES");
document.getElementById("localPhotoUrl").value=
//刷新子页面
editphoto.jsp
&%@ page language="java" contentType="text/ charset=UTF-8" pageEncoding="UTF-8"%&
&%@ taglib uri="/struts-tags" prefix="s"%&
&%@ page import="org.hd.tempuser.model.TempUser" %&
String path = request.getContextPath();
String addSuccess = "";
if(request.getAttribute("addSuccess")!=null){
addSuccess=(String)request.getAttribute("addSuccess");
&html lang="en" xmlns="http://www.w3.org/1999/xhtml"&
&meta http-equiv="Content-Type" content="text/ charset=utf-8" /&
&link href="&%=path%&/resource/css/style.css" rel="stylesheet" type="text/css" /&
&script src="&%=path%&/script/jquery-1.7.1.js" type="text/javascript"&&/script&
&body style="background:#f3f3f3"&
&input type="hidden" id="path" value="&%=path%&" /&
请上传图片
&form id="testform" action="&%=path%&/upphoto/upphotoServlet" method="post" enctype="multipart/form-data"&
&input type="file"
id="testfile" name="uploadPhoto" class="inputbox1" style="width:175" value=""/&
&input type="hidden"
id="gonghao" name="gonghao" value=""/&
&input type="hidden"
id="jobNumberTest" name="jobNumberTest" value="gh.value"/&
&input type="button"
value="上传" onclick="testformsubmit()" /&
&input type="button"
value="取消" onclick="cancelPhoto()" /&
var path=document.getElementById("path").
//获取工号
parent.window.geivUnameToChild();
function testformsubmit(){
var testform=document.getElementById("testform");
var gonghao=document.getElementById("gonghao").
if(gonghao==null||gonghao==""||gonghao=="null"){
alert("请先输入账号!");
testform.submit();
function gg(){
//调用父页面方法
parent.window.tt();
function receivJobNum(jobnum){
document.getElementById("gonghao").value=
function cancelPhoto(){
parent.window.cancelEditPhotoFunc();
user_view.jsp
&%@ page language="java" contentType="text/ charset=UTF-8" pageEncoding="UTF-8"%&
&%@ taglib uri="/struts-tags" prefix="s"%&
&%@ page import="org.hd.tempuser.model.TempUser" %&
String path = request.getContextPath();
String tempuserid="";
if(request.getParameter("tempuserid")!=null){
tempuserid=(String)request.getParameter("tempuserid");
&html lang="en" xmlns="http://www.w3.org/1999/xhtml"&
&meta http-equiv="Content-Type" content="text/ charset=utf-8" /&
&link href="&%=path%&/resource/css/style.css" rel="stylesheet" type="text/css" /&
&script src="&%=path%&/script/jquery-1.7.1.js" type="text/javascript"&&/script&
&script src="&%=path%&/script/queryHeader.js" type="text/javascript"&&/script&
&script src="&%=path%&/script/main.js" type="text/javascript"&&/script&
&script src="&%=path%&/script/plugin/plugin_core.js" type="text/javascript"&&/script&
&script src="&%=path%&/script/plugin/calendar/calendar_util.js" type="text/javascript"&&/script&
&script src="&%=path%&/script/plugin/calendar/calendar.js" type="text/javascript"&&/script&
&body style="background:#828282"&
&input type="hidden" id="path" value="&%=path%&" /&
&input type="hidden" id="tempuserid" value="&%=tempuserid%&" /&
&form id="formadd" method="post" action="&%=path%&/tempUser/viewTempUser.action"&
&input type="hidden" id="localPhotoUrl" name="localPhotoUrl" value="" /&
&table width="100%" height="30" border="0" cellspacing="0" cellpadding="0" id="box_title"&
&td class="left" width="6"&&/td&
&td class="title"&详细信息&/td&
&table width="100%" height="160px" border="0" cellspacing="0" cellpadding="0" class="nbox11" style="padding-left:6px"&
&div class="contentBody"&
&table class="nbox14 blackn12" border="0" cellspacing="0" cellpadding="0" width="800px"&
&td class="td1"&账号:&/td&&td class="td2"&&input type="text" disabled readonly value="&s:property value='#request.viewTempUser.uname'/&
" name="viewTempUser.uname" class="inputbox1" id="uname" style="width:175" /&&/td&
&td class="td1"&性别:&/td&&td class="td2"&
&input type="text"
disabled readonly value="&s:property value='#request.viewTempUser.sex'/&
" name="viewTempUser.sex" class="inputbox1" id="sex" style="width:175" /&
&td class="td1"&密码:&/td&&td class="td2"&&input type="text"
readonly value="&s:property value='#request.viewTempUser.upass'/&"
name="viewTempUser.upass" class="inputbox1" id="upass" style="width:175" /&&/td&
&td class="td1"&姓名:&/td&&td class="td2"&&input type="text"
readonly value="&s:property value='#request.viewTempUser.realname'/&"
name="viewTempUser.realname" class="inputbox1" id="realname" style="width:175" /&&/td&
&td class="td1"&邮件地址:&/td&&td class="td2"&&input type="text"
disabled readonly
value="&s:property value='#request.viewTempUser.email'/&"
name="viewTempUser.email" class="inputbox1" id="email" style="width:175" /&&/td&
&td class="td1"&手机号码:&/td&&td class="td2"&&input type="text"
disabled readonly
value="&s:property value='#request.viewTempUser.cellphone'/&"
name="viewTempUser.cellphone" class="inputbox1" id="cellphone" style="width:175"/& &/td&
&td class="td1"&分机:&/td&&td class="td2"&&input type="text"
value="&s:property value='#request.viewTempUser.ext'/&"
name="viewTempUser.ext" class="inputbox1" id="ext" style="width:175" /&&/td&
&td class="td1"&电话:&/td&&td class="td2"&&input type="text"
value="&s:property value='#request.viewTempUser.phone'/&" name="viewTempUser.phone" class="inputbox1" id="phone" style="width:175" /&&/td&
&td class="td1"&职级:&/td&&td class="td2"&
&input type="text"
disabled readonly value="&s:property value='#request.viewTempUser.job_level'/&
" name="viewTempUser.job_level" class="inputbox1" id="job_level" style="width:175" /&
&td class="td1"&&/td&&td class="td2"&&/td&
&div style="background:#f3f3f3"&
&table width="100%" height="50px" border="0" cellpadding="0" cellspacing="0" id="box_foot"&
&td style="height:50width:160text-align:padding-right:12font-size:12 color:#333; "&备注:&/td&
&td style="height:50width:50text-align:"&
disabled readonly rows="3" cols="26"
name="addTempUser.fakeremark" id="fakeremark" &
&s:property value='#request.viewTempUser.remark'/&
&/textarea&
&td style="height:50width:80text-align:padding-right:12font-size:12 color:#333; "&照片:&/td&
&td style="height:50text-align:"&
&img src="&%=path%&&s:property value='#request.viewTempUser.tempUrl'/&" width="75px" height="95px" id="person_img"/&
&div style="background:#padding-top:20"&
&table width="100%" height="30px" border="0" cellspacing="0" cellpadding="0" class="nbox11" style="padding-left:6px"&
&td style="width:20%;text-align:padding-right:12"&
&td style="width:20%;text-align:padding-right:20"&
&td style="width:30%;text-align:padding-left:35"&
&input type="button"
value="返回" onclick="javascript:history.back(-1);" /&
&td style="width:30%;text-align:padding-left:12"&
&table width="100%" height="50px" border="0" cellspacing="0" cellpadding="0" class="nbox11" style="padding-left:6px"&
&div class="contentBody"&&table class="nbox14 blackn12" border="0" cellspacing="0" cellpadding="0" width="800px"&
&td class="td2"&&/td&
&td class="td2"&
&table width="100%" height="10" border="0" cellpadding="0" cellspacing="0" id="box_foot"&
&td class="left" width="7"&&/td&
&td class="mid"& &/td&
&td class="right" width="7"&&/td&
var path=document.getElementById("path").
要说的有几点,编辑用户可能修改照片,可能不修改。
我分了这两种情况。用一个参数来区别。
下面是所有action
AddTempUserAction.java
package org.hd.tempuser.
import java.io.PrintW
import java.sql.B
import javax.servlet.http.HttpServletR
import javax.servlet.http.HttpServletR
import oracle.sql.BLOB;
import org.apache.struts2.ServletActionC
import org.hd.tempuser.model.TempU
import org.hd.tempuser.service.TempUserS
import org.hd.util.BlobU
import org.hibernate.SessionF
import org.mon.container.ContainerM
import org.rd.framework.hibernate.ConfigurableSessionFactoryB
import org.rd.framework.query.sort.SortC
import org.rd.framework.monA
import org.hibernate.impl.SessionFactoryI
import com.opensymphony.xwork2.ActionC
public class AddTempUserAction extends CommonAction{
private TempUserService tempUserService = (TempUserService)ContainerManager.getComponent(TempUserService.BEAN_ID);
private TempUser addTempU
private String localPhotoUrl="";
public String addTempUser() throws Exception{
ActionContext ctx = ActionContext.getContext();
HttpServletResponse response = (HttpServletResponse) ctx.get(ServletActionContext.HTTP_RESPONSE);
HttpServletRequest request
= (HttpServletRequest) ctx.get(ServletActionContext.HTTP_REQUEST);
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
if(getAddTempUser()!=null){
if(getLocalPhotoUrl()==null||getLocalPhotoUrl().trim().equals("")){
System.out.println("临时上传路径:"+getLocalPhotoUrl());
String loginUserJobNum=this.getLoginUserJobNumber();
tempUserService.addTempUserWriteBlob(getAddTempUser(),getLocalPhotoUrl(),loginUserJobNum);
out.println("YES");
request.setAttribute("addSuccess", "addSuccess");
return SUCCESS;
public String execute() throws Exception{
return SUCCESS;
public TempUser getAddTempUser() {
return addTempU
public void setAddTempUser(TempUser addTempUser) {
this.addTempUser = addTempU
public String getLocalPhotoUrl() {
return localPhotoU
public void setLocalPhotoUrl(String localPhotoUrl) {
this.localPhotoUrl = localPhotoU
DelTempUserAction.java
package org.hd.tempuser.
import java.io.PrintW
import javax.servlet.http.HttpServletR
import javax.servlet.http.HttpServletR
import org.apache.struts2.ServletActionC
import org.hd.tempuser.model.TempU
import org.hd.tempuser.service.TempUserS
import org.mon.container.ContainerM
import org.rd.framework.query.interceptor.QueryParameterA
import org.rd.framework.query.sort.SortC
import org.rd.framework.struts.action.BodyListA
import org.rd.framework.util.DateU
import com.opensymphony.xwork2.ActionC
public class DelTempUserAction extends BodyListAction implements QueryParameterAware{
private TempUserService tempUserService = (TempUserService)ContainerManager.getComponent(TempUserService.BEAN_ID);
private String tempuserid="";
private TempUser delTempUser=
public String delTempUser() throws Exception{
ActionContext ctx = ActionContext.getContext();
HttpServletResponse response = (HttpServletResponse) ctx.get(ServletActionContext.HTTP_RESPONSE);
HttpServletRequest request
= (HttpServletRequest) ctx.get(ServletActionContext.HTTP_REQUEST);
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
setTempuserid(request.getParameter("tempuserid"));
if(request.getParameter("tempuserid")!=null&&!request.getParameter("tempuserid").trim().equals("")){
tempUserService.delTempUserById(request.getParameter("tempuserid"));
out.println("YES");
out.println("NO");
return NONE;
public String execute() throws Exception{
return SUCCESS;
public String getTempuserid() {
public void setTempuserid(String tempuserid) {
this.tempuserid =
public TempUser getDelTempUser() {
return delTempU
public void setDelTempUser(TempUser delTempUser) {
this.delTempUser = delTempU
EditTempUserAction.java
package org.hd.tempuser.
import java.io.PrintW
import java.sql.B
import javax.servlet.http.HttpServletR
import javax.servlet.http.HttpServletR
import oracle.sql.BLOB;
import org.apache.struts2.ServletActionC
import org.hd.login.service.LoginS
import org.hd.tempuser.model.TempU
import org.hd.tempuser.service.TempUserS
import org.hd.util.BlobU
import org.hd.util.RamdomU
import org.hibernate.SessionF
import org.mon.container.ContainerM
import org.rd.framework.hibernate.ConfigurableSessionFactoryB
import org.rd.framework.query.sort.SortC
import org.rd.framework.monA
import org.hibernate.impl.SessionFactoryI
import com.opensymphony.xwork2.ActionC
public class EditTempUserAction extends CommonAction{
private TempUserService tempUserService = (TempUserService)ContainerManager.getComponent(TempUserService.BEAN_ID);
private LoginService hdLoginService = (LoginService)ContainerManager.getComponent(LoginService.BEAN_ID);
private TempUser editTempU
private String localPhotoUrl="";
private String ischangePhoto="";
public String editTempUser() throws Exception{
//先取数据展现
ActionContext ctx = ActionContext.getContext();
HttpServletResponse response = (HttpServletResponse) ctx.get(ServletActionContext.HTTP_RESPONSE);
HttpServletRequest request
= (HttpServletRequest) ctx.get(ServletActionContext.HTTP_REQUEST);
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
if(request.getParameter("tempuserid")!=null&&!request.getParameter("tempuserid").trim().equals("")){
TempUser tt=tempUserService.getTempUserById(request.getParameter("tempuserid"));
String photoPath=hdLoginService.getTempPhoto(tt);
photoPath+="?randomStr="+RamdomUtil.getRamdomDateStr();//加随机参数
tt.setTempUrl(photoPath);
setEditTempUser(tt);
return SUCCESS;
public String submitEditTempUser() throws Exception{
//提交数据
ActionContext ctx = ActionContext.getContext();
HttpServletResponse response = (HttpServletResponse) ctx.get(ServletActionContext.HTTP_RESPONSE);
HttpServletRequest request
= (HttpServletRequest) ctx.get(ServletActionContext.HTTP_REQUEST);
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
if(getEditTempUser()!=null){
String hduid=getEditTempUser().getHduid().trim();
getEditTempUser().setHduid(hduid);
String loginUserJobNum=this.getLoginUserJobNumber();
if(getIschangePhoto()!=null&&getIschangePhoto().trim().equals("YES")){
//修改照片
if(getLocalPhotoUrl()==null||getLocalPhotoUrl().trim().equals("")){
System.out.println("临时上传路径:" + getLocalPhotoUrl());
tempUserService.clearPhotoBlob(getEditTempUser());
tempUserService.editTempUserWriteBlob(getEditTempUser(),
getLocalPhotoUrl(), loginUserJobNum);
//不修改照片
tempUserService.editTempUserWithoutBlob(getEditTempUser(), loginUserJobNum);
request.setAttribute("editSuccess", "editSuccess");
return SUCCESS;
public String execute() throws Exception{
return SUCCESS;
public String getLocalPhotoUrl() {
return localPhotoU
public void setLocalPhotoUrl(String localPhotoUrl) {
this.localPhotoUrl = localPhotoU
public TempUser getEditTempUser() {
return editTempU
public void setEditTempUser(TempUser editTempUser) {
this.editTempUser = editTempU
public String getIschangePhoto() {
return ischangeP
public void setIschangePhoto(String ischangePhoto) {
this.ischangePhoto = ischangeP
ListTempUserAction.java
package org.hd.tempuser.
import org.hd.tempuser.service.TempUserS
import org.mon.container.ContainerM
import org.rd.framework.query.interceptor.QueryParameterA
import org.rd.framework.query.sort.SortC
import org.rd.framework.struts.action.BodyListA
import org.rd.framework.util.DateU
public class ListTempUserAction extends BodyListAction implements QueryParameterAware{
private TempUserService tempUserService = (TempUserService)ContainerManager.getComponent(TempUserService.BEAN_ID);
public String listTempUser() throws Exception{
if (firstSorter == null && null == paginationSupport.getSorter()) {
firstSorter = new SortCriterion();
firstSorter.setField("queryby.hduid");
firstSorter.setOrder(SortCriterion.DESCENDING);
}else if(firstSorter == null && paginationSupport.getSorter() != null){
firstSorter = paginationSupport.getSorter();
paginationSupport.setSorter(firstSorter);
bodyList = tempUserService.getTempUserList(queryParams, paginationSupport);
return SUCCESS;
public String execute() throws Exception{
return SUCCESS;
public String getTableid() {
return "HD_USER_000";
ViewTempUserAction.java
package org.hd.tempuser.
import java.io.PrintW
import javax.servlet.http.HttpServletR
import javax.servlet.http.HttpServletR
import org.apache.struts2.ServletActionC
import org.hd.login.service.LoginS
import org.hd.tempuser.model.TempU
import org.hd.tempuser.service.TempUserS
import org.hd.util.RamdomU
import org.mon.container.ContainerM
import org.rd.framework.query.interceptor.QueryParameterA
import org.rd.framework.query.sort.SortC
import org.rd.framework.struts.action.BodyListA
import org.rd.framework.util.DateU
import com.opensymphony.xwork2.ActionC
public class ViewTempUserAction extends BodyListAction implements QueryParameterAware{
private TempUserService tempUserService = (TempUserService)ContainerManager.getComponent(TempUserService.BEAN_ID);
private LoginService hdLoginService = (LoginService)ContainerManager.getComponent(LoginService.BEAN_ID);
private TempUser viewTempUser=
private String command="";
public String viewTempUser() throws Exception{
ActionContext ctx = ActionContext.getContext();
HttpServletResponse response = (HttpServletResponse) ctx.get(ServletActionContext.HTTP_RESPONSE);
HttpServletRequest request
= (HttpServletRequest) ctx.get(ServletActionContext.HTTP_REQUEST);
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
if(request.getParameter("tempuserid")!=null&&!request.getParameter("tempuserid").trim().equals("")){
TempUser tt=tempUserService.getTempUserById(request.getParameter("tempuserid"));
String photoPath=hdLoginService.getTempPhoto(tt);
photoPath+="?randomStr="+RamdomUtil.getRamdomDateStr();//加随机参数
tt.setTempUrl(photoPath);
setViewTempUser(tt);
return SUCCESS;
public String execute() throws Exception{
return SUCCESS;
public TempUser getViewTempUser() {
return viewTempU
public void setViewTempUser(TempUser viewTempUser) {
this.viewTempUser = viewTempU
public String getCommand() {
public void setCommand(String command) {
struts_tempuser.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"&
&package name="tempUser" extends="cx-struts-default" namespace="/tempUser"&
&action name="listTempUser" class="org.hd.tempuser.action.ListTempUserAction" method="listTempUser"&
&result name="success"&/jsp/hd/home/usermanage/uesrs.jsp&/result&
&action name="delTempUser" class="org.hd.tempuser.action.DelTempUserAction" method="delTempUser"&
&action name="addTempUser" class="org.hd.tempuser.action.AddTempUserAction" method="addTempUser"&
&result name="success"&/jsp/hd/home/usermanage/add_user.jsp&/result&
&action name="viewTempUser" class="org.hd.tempuser.action.ViewTempUserAction" method="viewTempUser"&
&result name="success"&/jsp/hd/home/usermanage/user_view.jsp&/result&
&action name="editTempUser" class="org.hd.tempuser.action.EditTempUserAction" method="editTempUser"&
&result name="success"&/jsp/hd/home/usermanage/user_edit.jsp&/result&
&action name="submitEditTempUser" class="org.hd.tempuser.action.EditTempUserAction" method="submitEditTempUser"&
&result name="success"&/jsp/hd/home/usermanage/user_edit.jsp&/result&
&action name="uploadPhotoToTempDir" class="org.hd.tempuser.action.UploadPhotoAction" method="uploadPhotoToTempDir"&
&action name="uploadWithStruts" class="org.hd.tempuser.action.UploadWithStrutsAction" method="uploadWithStruts"&
&!-- 限制图片的格式和图片的大小 --&
&interceptor-ref name="fileUpload"&
&param name="allowedTypes"&
image/bmp,image/png,image/gif,image/jpeg,image/jpg
&param name="maximumSize"&102400&/param&
&/interceptor-ref&
&!-- 默认的拦截器,必须要写 --&
&interceptor-ref name="defaultStack" /&
&result name="success"&/jsp/hd/home/usermanage/add_user.jsp&/result&
&action name="goPageuploadWithStruts" class="org.hd.tempuser.action.UploadWithStrutsAction"&
&result name="success"&/jsp/hd/home/usermanage/add_user.jsp&/result&
&/package&
至于读取blob,看第二篇吧
&&&&推荐文章:
【上篇】【下篇】

我要回帖

更多关于 jsp点击图片触发事件 的文章

 

随机推荐