
EXT部分:
var panel = new ExtFormPanel({
layout:'form',
labelWidth:60,
height:60,
fileUpload: true,
//url:path+'user_uploadaction',
items: [
{
xtype:'textfield',
inputType:'file',
fieldLabel: '选择文件',
name:"uploadfile",
id:'importuser_value_text',
anchor:'95%'
}
],
buttons:[
{
text:'导入',
handler:function(){
var value = panelfindById('importuser_value_text')getValue();
if(valuesubstring(valuelength-4,valuelength)!="xls"){
alert("只能上传xls文件");
return;
}
panelgetForm()submit({
waitMsg:'上传中,请等待',
waitTitle:' ',
method: 'post',
url:path+'user_uploadaction',
success: function(form, action) {
store_reload();
alert(actionresultmsg)
},
failure: function(form, action) {
alert(actionresultmsg)
}
});
}
}
]
});
struts部分
String success = new UserManager()uploadUser(thisuploadfile);
try {
responsesetCharacterEncoding(CONTENTTYPE);
responsesetContentType("text/html;charset=" + CONTENTTYPE);
str = new String(strgetBytes("GBK"),"ISO8859-1");
responsegetOutputStream()print(success);
} catch (IOException e) {
eprintStackTrace();
}
uploadUser方法里
try{
InputStream in = null;
OutputStream out = null;
try{
in = new BufferedInputStream(new FileInputStream(file));
out = new BufferedOutputStream(new FileOutputStream(new File(path + fileseparator + filename)));
byte[] buffer = new byte[102410];
while (inread(buffer) > 0) {
outwrite(buffer);
}
}catch(Exception e){
eprintStackTrace();
return false;
}finally{
if (null != in) {
inclose();
}
if (null != out) {
outclose();
}
}
}catch(Exception er){
erprintStackTrace();
return false;
}
<%@ page language="java" contentType="text/html; charset=GB2312" pageEncoding="GB2312"%>
<%@ page language="java" import="javaio"%>
<%@ page language="java" import="comjspsmartupload"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 401 Transitional//EN">
<html>
<head>
<meta >
用表单向bean提交数据,只有提交了和该beans相对应的表单后,该指令标签才被执行。。。
当然还有其他的,如String boy="";
boy=="yuan" if(boy=="tixing")。。。
String 比较是要用equal()的,等,都是细节,需要耐心和细心的。
一下为修改程序:
package htl;
public class Area2
{ double sideA=00,sideB=00,sideC=00;
String boy="";
public void setSideA(double a)
{sideA=a;
}
public double getSideA(double a)
{return sideA;
}
public void setSideB(double b)
{sideB=b;
}
public void setSideC(double c)
{sideC=c;
}
public void setBoy(String b){
boy=b;
}
public double getResult(){
double result=00,p;
if(boyequals("sanjiaoxing")){
if(isTriangle()){
p=(sideA+sideB+sideC)/20;
result=Mathsqrt(p(p-sideA)(p-sideB)(p-sideC));
}
}else if(boyequals("yuan")){
result=MathPIsideAsideA;
}else if(boyequals("tixing")){
result=(sideA+sideB)sideC/20;
}
return result;
}
public boolean isTriangle()
{ boolean triangle;
if(sideA<sideB+sideC&&sideB<sideA+sideC&&sideC<sideA+sideB)
triangle=true;
else
triangle=false;
return triangle;
}
}
<%@ page contentType="text/html;charset=GB2312"%>
<%@ page import="htl" %>
<jsp:useBean id="boy" class="htlArea2" scope="page"/>
<html>
<head>
<title>一个表单,计算三角形、圆、梯形的面积</title>
</head>
<body bgcolor=cyan><font size=2>
<form action="" method=post >
请输入边长值:
<br>边长A(上底、半径): <input type="text" name="sideA" size=50>
边长B(下底):<input type="text" name="sideB" size=50>
边长C(高):<input type="text" name="sideC" size=50>
<br><br>请选择要计算的形状:
<br><select name="boy">
<option value="sanjiaoxing">三角形
<option value="yuan">圆
<option value="tixing">梯形
</select>
<br><br><input type="submit" name="submit" value="提交">
</form>
<jsp:setProperty name="boy" property="" />
<br>
<%=boygetResult()%>
</body>
</html>
Java在最近几年逐渐升温 随着Java SE 和Java SE 的推出 Java的未来更显得无比辉煌 但以Java为基础的JSP在Java SE 推出之前却一直抬不起头来 这最重要的原因就是JSP虽然功能十分强大 但最大的优点也是它的最大缺点 功能强大就意味着复杂 尤其是设计前端界面的可视化工具不多 也不够强大 因此 设计JSP页面就变得十分复杂和繁琐 不过 在Java SE 推出的同时 Sun为了简化JSP的开发难度 推出了新的JavaServer Faces(简称JSF)规范 从而使JSP走上了康庄大道
一 什么是JSF
JSF和JSP是一对新的搭档 JSP是用于后台的逻辑处理的技术 而JSF恰恰相反 是使开发人员能够快速的开发基于 Java 的 Web 应用程序的技术 是一种表现层技术 目前 JSF 已经正式作为一个标准加入了Java EE 中
作为一种高度组件化的技术 开发人员可以在一些开发工具的支持下 实现拖拉式编辑 *** 作 用户只需要简单的将 JSF 组件拖到页面上 就可以很容易的进行 Web 开发了 这是其作为一种组件化的技术所具有的最大好处 我们能用的组件不光是一些比较简单的输入框之类 还有更多复杂的组件可以使用的 比如 DataTable 这样的表格组件 Tree 这样的树形组件等等
作为一种标准的技术 JSF还得到了相当多工具提供商的支持 同时我们也会有很多很好的免费开发工具可以使用 前不久 Sun Java Studio Creator 和 Oracle JDeveloper g 作为免费的支持 JSF 的开发工具发布 给 JSF 带来了不小的生气 另外我们也有一些很优秀的商业开发工具可共选择 BEA Workshop (原 M NitroX) Exadel MyEclipse 这样的基于 Eclipse 的插件开发工具 为现在广大的 Eclipse 用户带来了不小的便利 IBM 的 Rational Application Developer 和 Borland 的 JBuilder 也是很不错的支持 JSF 可视化开发的商业开发工具
JSF和传统的Web技术有着本质上的差别 在传统的Web技术需要用户自己对浏览器请求进行捕捉 保存客户端状态 并且手工控制着页面的转向 等等 而JSF的出现 无疑给我们带来了巨大的便利 JSF 提供了事件驱动的页面导航模型 该模型使应用程序开发人员能够设计应用程序的页面流 与 Struts 的方式向类似的是 所有的页面流信息都定义在 JSF 配置 XML 文件 (faces config xml) 中 而非硬编码在应用程序中 这很大程度简化了开发人员开发难度 简化了应用程序的开发
同时JSF也是一种遵循模型 视图-控制器 (MVC) 模式的框架 实现了视图代码(View)与应用逻辑(Model)的完全分离 使得使用 JSF 技术的应用程序能够很好的实现页面与代码的分离 所有对 JSF 页面的请求都会通过一个前端控制器 (FacesServlet) 处理 系统自动处理用户的请求 并将结果返回给用户 这和传统的 MVC 框架并没有太大的区别
在JSF中不仅使用了 POJO 技术 而且还使用了类似 Spring 的控制反转(IoC) (或称为依赖注入 DI) 技术 在 JSF 的 Backing Bean 中 我们可以把视图所需要的数据和 *** 作放进一个 Backing Bean 中 同时得益于 JSF 使用的 DI 技术 我们可以在配置文件中初始化 Managed Bean 同时我们也可以通过这样的技术很方便的和使用类似技术的 Spring 进行整合
二 如何在JSP中使用JSF
JSF只有通过和JSP相结合 才能充分发挥它的功效 JSF是通过标签库和JSP进行集成的 标签库就相当于ASP NET的服务端组件 JSF提供了非常丰富的标签库 通过这些标签库 可以生成各种客户端模型 如HTML WML XML以及JavaScript等 通过这些标签 你可以很容易建立大规模的客户端模型 并由这些标签自动处理客户端请求
接下来让我们来看一个如何使JSF和JSP在一起工作的例子 在JSF中有两个库 第一个叫做内核库 在这个库中包含了各种主要的标签 如配置组件 管理事件 验证输入信息等 第二个库的主要功能是将HTML和JSF的各种标签相对应 每一个JSF标签都会对应一个HTML组件 如UIInput标签对应了HTML中的文本框或密码框
在JSF标签中文本输入框叫做inputText 而密码输入库叫inputSecret 下面是一个简单的JSF和JSP结合的用户接口程序
<%@ taglib uri="%> <%@ taglib uri="%> <> <head> <meta >
以上就是关于哪位高手用JSP写过实现Ext文件上传吗,能给个例子看看吗全部的内容,包括:哪位高手用JSP写过实现Ext文件上传吗,能给个例子看看吗、在jsp页面上传文件,使用jspSmartUpload,要一个完整且好用的例子、jsp与javabean例子 求三角形、圆、梯形面积等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)