您的位置:首页 > Web前端 > JavaScript

JSP项目开发常用技术总结

2012-05-08 14:17 471 查看
1、Jquery以POST形式提交表单:

$.ajax({
type:"POST",
async: false,
url:"addBgNetdisk.action",
data:$("#form1").serialize(),
success:function()
{
setTimeout("parent.tb_remove(1);parent.ts()",0);
}
});

2、Jquery以GET方式获取数据并执行回调函数:

$.ajax({
url: 'showSchoolName.action?random='+Math.random(),
async:false,
type: 'GET',
success:callback1
});
//回调函数
function callback1(da)
{
var json=eval(da);
var schoolname =json[0].schoolname;
document.getElementById("systemname").innerHTML=schoolname;
}

3、Jquery以GET方式获取数据并直接使用

var str=$.ajax({url:'bmksjson.action',type:'GET',async:false,cache:false}).responseText;

4、动态改变Action的方法,有些时候,比如进行数据检索后,再次显示查询结果时,这时好像必须用POST提交,用AJAX提交就不太方便了。

var form = document.getElementById("form1");

form.action="showaction.action";
form.submit();

5、eclipse提示The import javax.servlet cannot be resolved

servlet中的import java.servlet.*;这个包在哪里

这个包是tomcat里面的,并不在JDK当中
下载tomcat后将lib文件夹下的jsp-api.jarservlet-api.jar这两个包添加到classpath下,就可以导入这个包了
正确的语句是import javax.servlet.*;而不是import java.servlet.*;

6、迭代的用法示例:

<s:if test="#request.totalRows==0">
<tr class="out" onmouseover="highThis(this,0)" onmouseout="highThis(this,1)">
<td colspan="6">
无查询结果
</td>
</tr>
</s:if>
<s:else>
<s:iterator value="#request.pagebean.queryList" status="rsDepartment" id="department">
<tr class="out" onmouseover="highThis(this,0)" onmouseout="highThis(this,1)">

<td>
<s:if test="DISABLED==0">
<input id="chk" type="checkbox" name="chk" value="<s:property value="BM_ID" />" onclick='odd(form)' />
</s:if>
<s:else>
<input id="chk" type="checkbox" name="chk" disabled="disabled" />
</s:else>
</td>
<td>
<s:property value="#rsDepartment.index+1" />
</td>
<td>
<a title="部门简介:<s:property value="BMJJ" />"><s:property value="BMMC" /></a>
</td>
<td>
<a href='listrsKs.action?id=<s:property value="BM_ID" />'
target="_self">维护科室</a>
</td>
<td>
<input type="text" value=<s:property value="SORT_ID"/>
style="width: 50px"
onkeyup="if(/[^0-9]/g.test(this.value)){this.value=this.value.substr(0,this.value.length-1)}"
id="<s:property value="BM_ID" />" />
</td>
<td>
<input class="button_edit" type="button" value="" title="修改" style="cursor:pointer"
onClick="modifybm(<s:property value="BM_ID" />)" />
<s:if test="DISABLED==0">
<input class="button_del" type="button" value="" title="删除" style="cursor:pointer"
onClick="delbm(<s:property value="BM_ID" />)" />

</s:if>
<s:else>
<input class="button_nodel" type="button" value=""
disabled="disabled" title="该部门下有下级科室或有人员,不能删除该部门。" />
</s:else>
</td>
</tr>
</s:iterator>
</s:else>

7、

Struts2获取request

在Action中获取request方法一:
在Action中的代码:
Map request = (Map)ActionContext.getContext().get("request");
List<Task> tasks = taskManager.findAll();
request.put("tasks", tasks);
在JSP页面中获取其中的值:
<s:iterator id="task" value="#request.tasks">
<tr class="table_header">
<td><s:property value="#task.tname"/></td>
<td><s:property value="#task.tuid"/></td>
<td><s:property value="#task.tstartTime"/></td>
<td><s:property value="#task.tendTime"/></td>
<td><s:property value="#task.tstate"/></td>
<td><input type="radio" id="choose" name="choose" onclick="getId(this.value)" value="<s:property value='#task.tid'/>"/></td>
</tr>
</s:iterator>
--------------------------------------------------------------------------------------------

方法二:通过ServletActionContext类来获取
Action中代码:
HttpServletRequest request = ServletActionContext.getRequest();
request.setAttribute("username", "zhangsan");
在jsp中获取其中的值
<s:property value="#request.username">或者${requestScope.req}

--------------------------------------------------------------------------------------------
方法三:通过ServletRequestAware接口通过IOC机制注入Request对象
Action中的代码:
Action实现ServletRequestAware接口,实现接口中的方法
private HttpServletRequest request;
//实现接口中的方法
public void setServletRequest(HttpServletRequest request){
this.request = request;
}
//然后在execute()方法中就可以使用了
public String execute(){
request.setAttribute("username", "zhangsan");
request.getSession().getServletContext().getApplication(); //得到Application
}
该方法必须要实现,而且该方法是自动被调用
这个方法在被调用的过程中,会将创建好的request对象通过参数的方式传递给你,你可以用来赋给你本类中的变量,然后request就可以使用了
注意:setServletRequest()方法一定会再execute()方法被调用前执行
在jsp页面中获取其中的值
<s:property value="#request.task.tname"/>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: