上传图片判断类型 |
|
|
function checkImgType(ths){
if (ths.value == "") {
alert("请上传图片");
return false;
} else {
if (!/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(ths.value)) {
alert("图片类型必须是.gif,jpeg,jpg,png中的一种");
ths.value = "";
return false;
}
}
return true;
}
|
js控制提交文件大小 |
|
|
<html>
<head>
<script type="text/javascript">
var isIE = /msie/i.test(navigator.userAgent) && !window.opera;
function fileChange(target) {
var fileSize = 0;
if (isIE && !target.files) {
var filePath = target.value;
var fileSystem = new ActiveXObject("Scripting.FileSystemObject");
var file = fileSystem.GetFile (filePath);
fileSize = file.Size;
} else {
fileSize = target.files[0].size;
}
var size = fileSize / 1024;
if(size>10000){
alert("附件不能大于10M");
}
}
</script>
</head>
<body>
<input type="file" name="contractFileName" style="width: 500px;" onchange="fileChange(this);"/>
</body>
</html>
|
拼接查询字符串 |
|
|
public class ChooseMembersIndController extends MultiActionController {
//部门列表
List deptList;
//群组列表
List groupList;
//日志对象
// private Logger log = Logger.getLogger(this.getClass().getName());
private Logger log = Logger.getLogger("mod_qgt");
//人员选择Service对象
private ChooseMembersService chooseMembersService;
public void setChooseMembersService(ChooseMembersService chooseMembersService) {
this.chooseMembersService = chooseMembersService;
}
//信息发送人员实体Service对象
private MeSendDomainService meSendDomainService;
public void setMeSendDomainService(MeSendDomainService meSendDomainService) {
this.meSendDomainService = meSendDomainService;
}
/**
* 拼接查询字符串
* @param fieldName 字段名称
* @param sign 符号
* @param fieldValue 字段值
* @param isDate 是否为日期
* @return 拼接之后的字符串
*/
public String toString(String fieldName,String sign,String fieldValue,boolean isDate){
String result = "";
if(fieldValue != null && !fieldValue.equals("")){
if(isDate){
result= " and " + fieldName + sign + " to_date('" + fieldValue +"','yyyy-mm-dd') ";
}else{
result= " and " + fieldName + sign + " '" + fieldValue +"' ";
}
}else{
result= "";
}
return result;
}
/**
* 拼接查询字符串
* @param fieldName 字段名称
* @param fieldValue 字段值
* @param isLike 是否模糊查询
* @return 拼接之后的字符串
*/
public String toString(String fieldName,String fieldValue,boolean isLike){
String result = "";
if(fieldValue != null && !fieldValue.equals("")){
if(isLike){
result= " and " + fieldName + " like '%" + fieldValue +"%' ";
}else{
result= " and " + fieldName + " ='" + fieldValue +"' ";
}
}else{
result= "";
}
return result;
}
/**
* 前台参数转换成分页使用的Url
* @param request
* @param arg
* @return
*/
public StringBuilder toUrlArg(HttpServletRequest request,String arg){
StringBuilder s=new StringBuilder();
s.append("&").append(arg).append("=").append(request.getParameter(arg).trim());
return s;
}
//人员Service
private MemberMgrService memberMgrService;
//部门Service
private DeptMgrService deptMgrService;
// 群组Service
private GroupMgrService groupMgrService;
public void setMemberMgrService(MemberMgrService memberMgrService) {
this.memberMgrService = memberMgrService;
}
public void setDeptMgrService(DeptMgrService deptMgrService) {
this.deptMgrService = deptMgrService;
}
public void setGroupMgrService(GroupMgrService groupMgrService) {
this.groupMgrService = groupMgrService;
}
/**
* 获取request的属性值
* @param request
* @param propertyName
* @return
*/
public String getReqProperties(HttpServletRequest request,String propertyName){
if(null!=request.getParameter(propertyName)){
return request.getParameter(propertyName).trim();
}else{
return "";
}
}
/**
* 通讯助理人员查询进入框架页面
* @param request
* @param response
* @return
* @throws Exception
*/
public ModelAndView goMemberTelsQuery_person(HttpServletRequest request, HttpServletResponse response) throws Exception {
log.info("通讯助理人员查询进入框架页面");
MeSendDomain ms=meSendDomainService.getMeSendDomain(request);
StringBuilder groupWhere = new StringBuilder(" where 1=1");
groupWhere.append(" and OWN_ID='").append(ms.getPRODUCT_ID()).append("'");// 所属ID
log.info("groupWhere=" + groupWhere);
List groupList = groupMgrService.queryAllGroup(groupWhere.toString());
Map map = new HashMap();
map.put("groupList", groupList);
String strTelType=request.getParameter("tel_type").trim();
map.put("tel_type", strTelType);
return new ModelAndView("portal/individual/choose/members/persontels/person_tel_index",map);
}
/**
* 通讯助理人员电话查询
* @param request
* @param response
* @return
* @throws Exception
*/
public ModelAndView memberTelsQuery_person(HttpServletRequest request, HttpServletResponse response) throws Exception {
MeSendDomain ms=meSendDomainService.getMeSendDomain(request);
String strTelType=request.getParameter("tel_type").trim();
log.info("进入通讯助理人员电话查询");
String GROUP_NAME = request.getParameter("GROUP_NAME");//群组名称
String NAME = request.getParameter("NAME");//联系人名称
String SEX = request.getParameter("SEX");
StringBuilder where = new StringBuilder();
//拼接where前form的信息
if(null!=GROUP_NAME&&!"".equals(GROUP_NAME)){
where.append(" , T_GROUP G,T_GROUP_MEMBER G1");
}
//拼接where信息
where.append(" where 1=1");
if(null!=GROUP_NAME&&!"".equals(GROUP_NAME)){
where.append(" and G.GROUP_ID=G1.GROUP_ID and G1.MEMBER_ID=T.MEMBER_ID");
}
String url = "/portal/individual/memberTelsQuery_person.shtml?a";
if(null!=GROUP_NAME&&!"".equals(GROUP_NAME)){
url+="&GROUP_NAME="+GROUP_NAME;
where.append(" and G.GROUP_NAME like '%").append(GROUP_NAME.trim()).append("%'");
}
if(null!=SEX&&!"".equals(SEX)){
url+="&SEX="+SEX;
where.append(" and T.SEX='").append(SEX.trim()).append("'");
}
if(null!=NAME&&!"".equals(NAME)){
url+="&NAME="+NAME;
where.append(" and T.NAME like '%").append(NAME.trim()).append("%'");
}
where.append(" and T.PRODUCT_ID ='").append(ms.getPRODUCT_ID()).append("'");
url+=toUrlArg(request,"tel_type");
log.info("公共人员查询\t"+where.toString());
int allCount = 0; // 总数
int start = 0; // 开始数
int count = 500; // 每页显示数
String startIndex = request.getParameter("start");
if (startIndex != null && !"".equals(startIndex)) {
start = Integer.parseInt(startIndex);
}
QueryParam param = new QueryParam();
param.setCount(count);
param.setStart(start);
param.setSql(where.toString());
allCount = chooseMembersService.searchMembersCount_person(where.toString());
List memberList = chooseMembersService.searchMembers_person(param, strTelType);
Map result = new HashMap();
result.put("memberList", memberList);
result.put("start", Integer.toString(start));
result.put("count", Integer.toString(count));
result.put("allCount", Integer.toString(allCount));
result.put("SEX",SEX);
result.put("NAME",NAME);
result.put("GROUP_NAME", GROUP_NAME);
result.put("tel_type",strTelType);
result.put("linkUrl", url);
log.info("进入公共的人员查询方法GROUP_NAME="+GROUP_NAME);
return new ModelAndView("portal/individual/choose/members/persontels/person_tel_list",result);
}
}
|
抓取任何网站代码 |
|
|
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class WebClient {
public static String getWebContent(String urlString, final String charset,
int timeout) throws IOException {
if (urlString == null || urlString.length() == 0) {
return null;
}
// intern() 返回字符串对象的规范化表示形式
urlString = (urlString.startsWith("http://") || urlString
.startsWith("https://")) ? urlString : ("http://" + urlString)
.intern();
// 类 URL 代表一个统一资源定位符,它是指向互联网“资源”的指针
URL url = new URL(urlString);
/**
* 支持 HTTP 特定功能的 URLConnection, 每个 HttpURLConnection 实例都可用于生成单个请求,
* 但是其他实例可以透明地共享连接到 HTTP 服务器的基础网络。 请求后在 HttpURLConnection 的 InputStream
* 或 OutputStream 上调用 close() 方法可以释放与此实例关联的网络资源, 但对共享的持久连接没有任何影响。 如果在调用
* disconnect() 时持久连接空闲,则可能关闭基础套接字
*
*
* url.opernConnection() 返回一个 URLConnection 对象,它表示到 URL 所引用的远程对象的连接
*/
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
/**
* 设置一般请求属性。如果已存在具有该关键字的属性,则用新值改写其值。 注:HTTP
* 要求所有能够合法拥有多个具有相同键的实例的请求属性,使用以逗号分隔的列表语法,这样可实现将多个属性添加到一个属性中。
*/
conn
.setRequestProperty(
"User-Agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727)");
// 增加报头,模拟浏览器,防止屏蔽
conn.setRequestProperty("Accept", "text/html");
// 只接受text/html类型,当然也可以接受图片,pdf,*/*任意,就是tomcat/conf/web里面定义那些
// 设置一个指定的超时值(以毫秒为单位),
// 该值将在打开到此 URLConnection 引用的资源的通信链接时使用。
// 如果在建立连接之前超时期满,则会引发一个 java.net.SocketTimeoutException。
// 超时时间为零表示无穷大超时。
conn.setConnectTimeout(timeout);
/**
* conn.getResponseCode() 从 HTTP 响应消息获取状态码。例如,就以下状态行来说: HTTP/1.0 200 OK
* HTTP/1.0 401 Unauthorized 将分别返回 200 和 401。如果无法从响应中识别任何代码(即响应不是有效的
* HTTP),则返回 -1。 HttpUrlConnection.Http_OK 意思为HTTP 状态码 200:OK。
*/
try {
if (conn.getResponseCode() != HttpURLConnection.HTTP_OK) {
return null;
}
} catch (IOException e) {
e.printStackTrace();
return null;
}
InputStream input = conn.getInputStream();
/**
* InputStreamReader 是字节流通向字符流的桥梁:它使用指定的 charset
* 读取字节并将其解码为字符。它使用的字符集可以由名称指定或显式给定,或者可以接受平台默认的字符集。
*
* 每次调用 InputStreamReader 中的一个 read()
* 方法都会导致从底层输入流读取一个或多个字节。要启用从字节到字符的有效转换,可以提前从底层流读取更多的字节,使其超过满足当前读取操作所需的字节。
*
* 为了达到最高效率,可要考虑在 BufferedReader 内包装 InputStreamReader。例如:
*
* BufferedReader in = new BufferedReader(new
* InputStreamReader(System.in));
*
*/
BufferedReader reader = new BufferedReader(new InputStreamReader(input,
charset));
String line = null;
StringBuffer sb = new StringBuffer();
while ((line = reader.readLine()) != null) {
sb.append(line).append("\r\n");
}
if (reader != null) {
reader.close();
}
if (conn != null) {
conn.disconnect();
}
return sb.toString();
}
public static String getWebContent(String urlString) throws IOException {
return getWebContent(urlString, "iso-8859-1", 5000);
}
public static void main(String[] args) throws IOException {
String s = getWebContent("http://www.sina.com");
s = new String(s.getBytes("iso-8859-1"), "gb2312");
System.out.println(s);
}
}
|
FCKeditor的文本输入使用方法 |
|
|
<script type="text/javascript" src="fckeditor/fckeditor.js"></script>
<textarea id="neirongzhengwen" name="neirongzhengwen" rows="15" cols="120">请写内容</textarea>
<script type="text/javascript">
window.onload = function(){
var f = new FCKeditor( 'neirongzhengwen' ) ;
f.BasePath = "/food_info/fckeditor/" ;
f.ReplaceTextarea() ;
}
</script>
|
java文件流 |
|
|
//删除文件
File file = new File(request.getParameter("txtdizhi"));
file.delete();
//创建一个输入流,并且将页面中传递过来的地址放入
String contentPath = request.getSession().getServletContext().getRealPath("/")+request.getParameter("wenjianbiaoti")+".txt";
BufferedWriter out = new BufferedWriter(new FileWriter(contentPath));
out.write(request.getParameter("wenbenyu"));
out.close();// 清空流里面的内容并关闭它,这里是结束文件操作
contents.setFilePath(contentPath);
contentDao.txtUpContent(contents);
//根据地址读取文件中的内容
myFileReader = new FileReader(rs.getString("file_path"));
BufferedReader myBufferedReader=new BufferedReader(myFileReader);
String myString=null;
String resultString=new String();
while((myString=myBufferedReader.readLine())!=null) {
resultString=resultString+myString;
}
System.out.println(resultString);
myFileReader.close();
|
增加内容信息 |
|
|
public int insertContent(Dto_contents contents) throws SQLException{
int result=0;
String sql="insert into contents(file_name,file_path,remark,pub_time,user_id,sub_id,publish,audit_type)value(?,?,?,?,?,?,1,1)";
Connection conn=mc.getConn();
try{
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, contents.getFileName());
pstmt.setString(2, contents.getFilePath());
pstmt.setString(3, contents.getRemark());
pstmt.setString(4, contents.getPubTime());
pstmt.setString(5, contents.getUserId());
pstmt.setString(6, contents.getSubId());
conn.setAutoCommit(false);
result=pstmt.executeUpdate();
conn.commit();
}
catch(SQLException e){
conn.rollback();
result=-1;
e.printStackTrace();
}finally{
conn.setAutoCommit(true);
mc.close(pstmt,conn);
}
return result;
}
|
jdbc 按条件查询内容 sql是StringBuffer型 |
|
|
public List getConSelByTiaojian(Dto_contents content){
List list=new ArrayList();
StringBuffer sql= new StringBuffer();
sql.append("select sub_title,sub_type,publish,file_name,con_id,file_path,user_id,remark,pub_time,audit_type ") ;
sql.append("from contents,subject where ");
//内容标题模糊查询
if(!"".equals(content.getFileName())&&content.getFileName() != null){
sql.append("contents.file_name like '%"+content.getFileName()+"%' and ");
}
//栏目标题模糊查询
if(!"".equals(content.getSubtitle())&&content.getSubtitle() != null){
sql.append("subject.sub_title = '"+content.getSubtitle()+"' and ");
}
sql.append("subject.sub_id = contents.sub_id order by pub_time desc");
String sqlok = sql.toString();
System.out.println("!!!!!!!!!!!!"+sqlok);
Connection conn=mc.getConn();
try{
st=conn.createStatement();
rs=st.executeQuery(sqlok);
System.out.println(rs);
int biaotou = 0;
while(rs.next()){
Dto_contents contents=new Dto_contents();
contents.setBiaotou(++biaotou);
contents.setConId(rs.getInt("con_id"));
contents.setAuditType(rs.getString("audit_type"));
contents.setFileName(rs.getString("file_name"));
contents.setFilePath(rs.getString("file_path"));
contents.setPublish(rs.getString("publish"));
contents.setPubTime(rs.getString("pub_time"));
contents.setRemark(rs.getString("remark"));
contents.setUserId(rs.getString("user_id"));
contents.setSubtitle(rs.getString("sub_title"));
if("0".equals(rs.getString("sub_type"))){
contents.setSubtype("文本");
contents.setShenhe("编辑");
}if("1".equals(rs.getString("sub_type"))){
contents.setSubtype("图片");
contents.setShenhe("审核");
}if("2".equals(rs.getString("sub_type"))){
contents.setSubtype("视频");
contents.setShenhe("审核");
}
if("0".equals(rs.getString("audit_type"))){
contents.setShenhe("已审核");
}
list.add(contents);
}
}
catch(SQLException e){
e.printStackTrace();
return null;
}finally{
mc.close(rs,st,conn);
}
return list;
}
|
struts1配置文件 |
|
|
<action
path="/insertContent"
scope="request"
type="com.cp.subjectaction.InsertContentAction">
<forward name="ok" path="/contentSelectAll.do" />
</action>
|
复选框全选 |
|
|
<%--复选框--%>
function ckall(c){
var ckbs = document.getElementsByName("ckb");
for(var i=0;i<ckbs.length;i++){
ckbs[i].checked = c.checked;
}
}
<%--复选框删除--%>
function fuxuandel(){
var ckbs = document.getElementsByName("ckb");
var b = false;
for(var i=0;i<ckbs.length;i++){
if(ckbs[i].checked){
b = true;
break;
}
}
if(!b){
alert("请选择想要删除的数据");
}
else{
document.getElementById("fuxuanshanchu").submit();
}
}
|