JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应):
1.request 用户端请求,此请求会包含来自GET/POST请求的参数。
2. response 网页传回用户端的回应 。
3.pageContext 网页的属性是在这里管理 。
4.session 与请求有关的会话期。
5.application servlet 正在执行的内容。
6.out 用来传送回应的输出。
7.config servlet的构架部件。
8.page JSP网页本身。
9.exception 针对错误网页,未捕捉的例外。 ......
JSP共有以下6种基本动作:
1.jsp:include:在页面被请求的时候引入一个文件。
2.jsp:useBean:寻找或者实例化一个JavaBean。
3.jsp:setProperty:设置JavaBean的属性。
4.jsp:getProperty:输出某个JavaBean的属性。
5.jsp:forward:把请求转到一个新的页面。
6.jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记。 ......
struts-config:
<action path="/articleManage" name="articleManageForm" scope="request" type="auction.action.ArticleManageAction" validate="false">
<forward name="atriclesList" path="/WEB-INF/publish/articleManage/atriclesList.jsp"/>
<forward name="registerGood" path="/WEB-INF/publish/articleManage/registerGood.jsp"/>
</action>
Action:
ArticleManageForm theForm = new ArticleManageForm ();
theForm = theOperation.getInfo(request.getParameter("noId"));
request.setAttribute("articleManageForm", theForm);
1、配置的bean的名称要和struts-config中的一样
2、在bean中写一个方法,将取出的数据放到相应的bean的变量中 ......
什么是正则表达式?
正则表达式是一种强大而灵活的文本处理工具。使用正则表达式,我们能够以编程的方式,构造复杂的文本模式,并对输入的字符串进行搜索。一旦找到了匹配这些模式的部分,你就能够随心所欲地对它们进行处理。正则表达式提供了一种完全通用的的方式,能够解决各种字符处理相关的问题:匹配,选择,编辑以及验证。
一般来说,正则表达式就是一某种方式来描述字符串。
正则表达式中,反斜线 “\\”表示:我想要在正则表达式中插入一个正则表达式反斜线,所以其后的字符有特殊意义。如,如果你想表示一位数字,那么正则表达式应该是\\d,如果想插入一个普通的反斜线,则应该这样\\\\.
要表示“一个或者多个之前的表达式”,应该使用+。所以,如果要表示“可能有一个负号,后面跟着一位或多位数字” 可以这样,
-?\\d+ ......
import java.awt.Robot;
import java.io.IOException;
import java.lang.reflect.Field;
public class TestServer {
Class<?> key;
Robot ro;
{//非静态块用于初始化类类的非静态成员
try {
key = Class.forName("java.awt.event.KeyEvent");
ro = new Robot();
}
catch (Exception e) {}
}
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws Exception {
TestServer ts = new TestServer();
Thread.sleep(2000);
ts.pressLots("testwderetestwderewwer123wwer123");
}
/**
* singleKey
* @param k singleKey
* @throws Exception
*/
private void singleKeyPress (String k) throws Exception{
Field fi = key.getField("VK_" + k.toUpperCase());
ro.keyPress(fi.getInt(null));
ro.keyRelease(fi.getInt(null));
}
/**
* string print
* @param arg
*/
private void pressLots (String ... arg) throws Exception {
int iat = -1;
while (iat++ < arg[0].length()-1)
......
// 合并 List 中的相同数据行
// Source : tmpOrderEntryListBeanList
// Target : resultOrderEntryListBeanList
// ------------------------------------------------------------------
// (1)将结果赋给 Result Livon 2010-5-18 三
// 整理列表,以便查询库存。
private List<OrderEntryListBean> setOrderEntryList(List<OrderEntryListBean> orderEntryListBeanList){
// (1)将结果赋给 Result Livon 2010-5-18 三
//List<OrderEntryListBean> resultList = orderEntryListBeanList;
ArrayList<OrderEntryListBean> list = new ArrayList<OrderEntryListBean>(orderEntryListBeanList);
ArrayList<OrderEntryListBean> resultList = (ArrayList<OrderEntryListBean>) list.clone();
int rdcID_i, rdcID_j ;
int itemID_i, itemID_j ;
double itemAmount_i, itemAmount_j = 0;
// (2)从最后一行向上循环,直到第2条(如果存在的话)
for(int i = resultList.size() - 1; i > 0; i--){
rdcID_i = Integer.valueOf(resultList.get(i).getRdcId());
......