??xml version="1.0" encoding="utf-8" standalone="yes"?> UN JDK生成Heapdump文g只需要在tomcat启动脚本中增?HeapDumpOnOutOfMemoryError 参数 讄CZ: IBM JDK生成Heapdump文g的开养I HP JDK生成Heapdump文g需要在在环境变量上Q加上export _JAVA_HEAPDUMP=1 正如”打工皇帝”唐骏_”我觉得有两种Z要跟别h争利益和价值回报。第一Uh是刚刚q入企业的hQ头5q千万不要说你能不能多给我一点儿工资Q最重要的是能在企业里学C么,对发展是不是有利……” 人L从^坦中获得的教益少Q从难中获得的教益多;从^坦中获得的教益浅Q从难中获得的教益深。一个h在年Ll历难Q如能正视之,冲出黑暗Q那是一个值得敬慕的h。最要紧的是先练好内功,毕业后这5q就是练内功的最x期,l好内功Q才有可能在未来攀得更高?nbsp; \在哪里?\在于思\Q?/p>
其实Q没有钱、没有经验、没有阅历、没有社会关p,q些都不可怕。没有钱Q可以通过辛勤力_去赚Q没有经验,可以通过实践操作LȝQ没有阅历,可以一步一步去U篏Q没有社会关p,可以一点一点去~织。但是,没有梦想、没有思\才是最可怕的Q才让h感到恐惧Q很想逃避! 人必L一个正的方向。无Z多么意气风发Q无Z是多么智多谋,无论你花费了多大的心血Q如果没有一个明的方向Q就会过得很茫然Q渐渐就丧失了斗志,忘却了最初的梦想Q就会走上弯路甚至不归\Q枉费了自己的聪明才智,误了自己的青春年华?nbsp; 荷马史诗《奥徯》中有一句至理名aQ?#8221;没有比O无目的地徘徊更o人无法忍受的了?#8221;毕业后这5q里的迷茫,会造成10q后的恐慌,20q后的挣扎,甚至一辈子的^庸。如果不能在毕业q?q尽快冲出困惑、走雾,我们实在是无颜面?0q后?0q后的自己。毕业这5q里Q我们既有很多的不确定,也有很多的可能性?/p>
毕业q?q里Q我们既有很多的待定Q也有很多的军_?/p>
q与困惑谁都会l历Q恐惧与逃避谁都曄有过Q但不要把迷茫与困惑当作可以自我攑ּ、甘于^庸的借口Q更不要成ؓ自怨自艾、祭奠失意的苦酒。生命需要自己去承担Q命q更需要自己去把握。在毕业q?q里Q越早找到方向,早走出困惑Q就容易在人生道\上取得成、创造精彩。无头苍蝇找不到方向Q才会四处碰壁;一个h找不到出路,才会q、恐惧?nbsp; 生活中,面对困境Q我们常怼有走投无路的感觉。不要气馁,坚持下去Q要怿q轻的h生没有绝路,困境在前方,希望在拐角。只要我们有了正的思\Q就一定能走弯\Q找到出路! 成功的h不是赢在LQ而是赢在转折炏V?nbsp; 不少刚刚毕业的年MhQL奢望马上p扑ֈ自己理想中的工作。然而,很多好工作是无法{来的,你必选择一份工作作为历l。职业旅E中的第一份工作,无疑是踏入社会这所大学的v炏V也怽找了一份差Zh意的工作Q那么从q里出发Q好好地沉淀自己Q从q䆾工作中݅取到有h值的营养Q厚U薄发。千里之行,始于下Q只要出发,有希望到达l点?/p>
L可以相同Q但是选择了不同的拐点Q终点就会大大不同! 毕业q几q_我们的生zR感情、职业等都存在很多不定的因素,未来也充满了各种可能。这个时候,必须学会选择Q懂得放弃,l自׃个明的定位Q自己E_下来。如果你不主动定位,׃被别人和C会”定型”Q?/p>
可以q么_一个h在毕业这5q培养v来的行ؓ习惯Q将军_他一生的高度。我们能否成功,在某U程度上取决于自己对自己的评Pq就是定位。你l自己定位是什么,你就是什么。定位能军_人生Q定位能改变命运。丑鸭变成白天鹅,只要一双翅膀Q灰姑娘变成公主,只要一双水晉?nbsp; 人的命,三分天注定,七分靠打|有梦?#8221;会红”Q爱拼才会赢。只要不把自己束~在心灵的牢W里Q谁也束~不了你d高飞?/p>
现实情况q非他们所想的那样。于是,当优感逐渐转ؓp感甚x败感Ӟ当由坚信自己是一?#8221;金子”到怀疑自己是一_?#8221;沙子”Ӟ愤怒、迷茫、自卑就开始与日俱增?/p>
其实Q应该仔l掂量一下自己,你是否真是金子?是真金,手中要有l活Q才能上要有qh之处才行。一句话Q真金是要靠实力来证明的Q只有先把自q本领修炼好了Q才有资D虑伯乐的事?nbsp; 每颗珍珠原本都是一_沙子,但ƈ不是每一_沙子都能成Z颗珍珠?/p>
惌卓尔不群Q就要有鹤立鸡群的资本。忍受不了打d挫折Q承受不住忽视和qxEQ就很难辑ֈ辉煌。年Mh要想让自己得到重用,取得成功Q就必须把自׃一_沙子变成一颗hD城的珍珠?/p>
天有下雨与日出,人生高峰与低谗?/p>
莫ؓ云遮望|风物长宜攄量?/p>
只要拂去阴霾Q就能亮出朗朗晴I。如果你在工作上有些不如意,要相信自׃会一直处于h生的低谷期,L一天能冲破重重云层。告诉自己:我ƈ没有p|Q只是暂时没有成功!只要在内心点亮一盏希望之灯,一定能驱散黑暗中的阴霾Q迎来光明?nbsp; 的确Q论资历Q他们是不折不扣的职鸟,业务涉及不深Qh脉一I二白,在工作中l常壁。他们的压力q不一定都像千钧大矻I而是像大雨来临前的天Ԍ灰色低沉Q明明有I间Q却被灰色填满每个缝隙,只能{待大雨倄之后的晴I?/p>
”起得比鸡早,睡得比狗晚,q得比驴多,吃得比猪差?#8221;q是很多刚刚毕业的h喜欢用来调侃自己生活状态的话。虽然有点儿夸张Q但是,他们中的很多人的一直都被灰色心情所W罩–心里永远是多云{阴。记得有位哲人曾_”我们的痛苦不是问题本w带来的Q而是我们对这些问题的看法产生的?#8221;换个角度看h生,是一U突破、一U解脱、一U超、一U高层次的E泊与宁静Q从而获得自p在的快乐?nbsp; 一位哲Q?#8221;人生是一q串的抉择,每个人的前途与命运Q完全把握在自己手中Q只要努力,l会有成?#8221;׃也好Q择业也|,创业亦如此,只要奋发努力Q都会成功。你是不是准备把生命的承诺全部都交给别hQ?/p>
毕业后这5q_是改变自己命q的黄金时期。在最能决定自己命q时Q如果还不把握,那你q要{到什么时候呢Q我的h生我做主Q命q由׃׃h?/p>
不要zd别h的嘴里,不要zd别h的眼里,而是把命q握在自己手里?/p>
别说你没有背景,自己是最大的背景。美国作家杰?#183;凯鲁亚克说过一句话Q?#8221;我还q轻Q我渴望上\?#8221;在h生的旅途中Q我们永q都是年MhQ每天都应该满怀渴望。每个h的潜能都是无限的Q关键是要发现自q潜能和正认识自q才能Qƈ扑ֈ一个能充分发挥潜能的舞収ͼ而不能只台的不合适感C快。要客观公正地看待自q能力Q结合自q实际情况和爱好冷静选择Q尽可能到最需要自己、最适合自己的地斏V?/p>
在h力资源管理界Q特别流行一个说法,?#8221;骑马Q牵牛,赶猪Q打?#8221;理论Qh品很好,能力又很强的Q是千里马,我们要骑着他;人品很好但能力普通的Q是老黄牛,我们要牵着他;人品、能力皆普通的Q就?#8221;?#8221;Q我们要赶走他;人品很差能力很强的,那是”?#8221;Q我们要打击他?/p>
我想Q刚刚毕业几q的你,一栯怀大志Q一h成ؓ一匹被识、驰骋沙场的千里马吧Q那么,好好沉淀下来。低׃层不{于低h一{,今日的俯低是Z明天的高。所谓生命的价|是我们的存在对别h有h倹{能被h利用是一件好事,无h问|才是真正的悲哀Q?/p>
能干工作、干好工作是职场生存的基本保障?/p>
M人做工作的前提条仉是他的能力能够胜任这工作。能q是合格员工最基本的标准,肯干则是一U态度。一个职位有很多人都能胜任,都有q好q䆾工作的基本能力,然而,能否把工作做得更好一些,p看是否具有踏实肯qӀ苦于钻研的工作态度了?/p>
在能q的基础上踏实肯qӀ?/p>
工作中,zd得比别h多,你觉得吃亏;钱拿得比别h,你觉得吃亏;l常加班加点Q你觉得吃亏……其实Q没必要q样计较Q吃亏不是灾难,不是p|Q吃亏也是一U生zd学。现在吃点儿亏Qؓ成功铺就道\Q也许在未来的某个时刻,你的大福H然来了?/p>
能吃亏是做h的一U境界,是处世的一U睿智?nbsp; 在工作中q不是多做事或多帮别人干点儿zd是吃亏。如果领D你加加班、赶赶Q务,别以己吃了大亏,反而应该感到庆q,因ؓ领导只叫了你Q而没叫其他hQ说明他信Q你、赏识你。吃亏是一UA献,你A献得多Q得到的回报也就多。乐于加班,是q样的一U吃亏?/p>
舍得舍得Q有舍才有得Q学会在适当时吃些亏的hl对不是弱智Q而是大智?/p>
l别人留余地是l自q余地Q予人方便就是予己方便,善待别h是善待自己?/p>
Mh有傻,因ؓMh没有心计。和q样的h在一Pw心放松Q没有太多警惕,p怺靠近。傻在很多时候意味着执着和忠贞,也意味着宽厚和诚实,让h不知不觉站到他一辏V傻人无意中得到的,比聪明h费尽心机得到的还多。毕业这几年Q你的天IZ只飘着几片雪花Q这样你满了吗?成功需要坚持与U篏Q与其专注于搜集雪花Q不如省下力气去滚雪球。巴菲特_”人生像滚雪球,最重要的是发现很湿的雪和很长的坡?#8221;让自己沉淀下来Q学着发现”很湿的雪”Q努力寻?#8221;很长的坡”。记住:散落的雪׃很快融化Q化Z有,只有雪球才更实在Q才能长久?/p>
在毕业这几年里,你要是能做到比别人多付出一分努力,意味着比别人多U篏一分资本,比别h多一ơ成功的Z?nbsp; 什么是职业化呢Q职业化是工作状态的标准化、规范化、制度化Q即在合适的旉、合适的地点用合适的方式说合适的话、做合适的事,使知识、技能、观c思维、态度、心理等W合职业规范和标准?#8221;在每个行业里Q都有很多出色的人才Q他们之所以能存在Q是因ؓ比别人更努力、更智慧、更成熟。但是,最重要的是Q他们比一般h更加职业化!q就是ؓ什么我现在能当你老板的原因。一个h仅仅专业化是不够的,只有职业化的人才能飞在别人前面,让h难以越Q?#8221;不要以ؓ我们现在已经生存得很安稳了。对于毕?q的人来Ԍ一定要认清卛_面的五大挑战?/p>
一、赡ȝ母?/p>
二、结婚生子?/p>
三、升职加薪?/p>
四、工作压力?/p>
五、生z质量?/p>
有的Zؓ生存而雀跃,目光L停在w后Q三天打g天晒|,有始无终?/p>
有的Zؓ发展而奋斗,目光L盯在正前方,每天q步一点点Q坚持不懈?/p>
毕业q几q_不能没有q求和探索,不能没有理想和目标。h生如逆水行舟Q不q则退。甘于现状的生活是不再前行的船Q再也无法追上时代前q的步伐。一定要抓紧每一U钟的时间来学习Q要明白学习不是学生的专利。小聪明的h最得意的是Q自己做q什么?大智慧的人最渴望的是Q自p要做什么? 聪明是战术Q大智慧是战略;聪明看到的是芝麻,大智慧看到的是西瓜?/p>
在这个世界上Q既有大人物Q也有小角色Q大人物有大人物的活法,h物有h物的潇洒Q每个h都有自己的生zL式,谁也勉强不了谁。但是,聪明只能有成l和视野,大智慧才能有大成和大境界。小企业看老板Q中企业看制度,大企业看文化?nbsp; 公怸大企业都有生存之道,没有好坏之分Q但对一个h不同阶段的媄响会不同?/p>
公司肯定想要发展ؓ大企业,q是一U目标,q轻Z要给自己的职业生涯制定目标。毕业几q的你,是否l常会怯场或者是感到没有底气Q居安思危l对不是p耸听Q此L盹,你将做梦Q此d习,你将圆梦。在竞争Ȁ烈的人生战场上,打盹的都是输Ӟ 每个人在q轻的时候似乎都豪情万丈Q什么都不怕,可是随着q龄的增长,每天想着房子、工作、养家糊口这些俗事儿Q再也没有年L那种敢于”上天探星、下h?#8221;的勇气了。是我们改变了生z,q是生活改变了我们?我们的思想来复杂,因ؓ有了来多的舍不得、越来越多的虑Q我们L在徘徊、L在犹豫。毕业开始一两年Q生zȝ重担会压得我们喘不过气来Q挫折和障碍堵住四面八方的通口Q我们往往在压q得自己发挥出潜能后Q才能杀出重_扑ֈ\。可是两三年后,w上的重担开始减轻,工作开始一帆风,我们松懈了下来Q渐渐忘C潜在的危险。直到有一天危机突焉_我们在手x措中被击?#8230;…毕业q几q_仍然处于危险期,一定要有居安思危的意识,好好打拼Q这h能有一个真正的安全人生Q?/p>
生于忧患Q死于安乐。如果你惌自q前的成就Q就不能d自限Q而是要勇于接受挑战。对畏畏~羃的h来说Q真正的危险正在于不敢冒险! q轻人在C会的重压下Q适应能力已变得越来越强,只是他们不自觉地习惯被环境推着走。他们不敢冒险,怕给自己带来ln的遗憾,于是告慰自己Q?#8221;我对得v自己、对得v家hQ因为我已竭全力?#8221;其实Qh只有不断挑战和突破才能逐渐成长。长期固守于已有的安全感中,׃像温水里的青蛙一P最l失去蟩跃的本能?/p>
l历了这几年C会生活Q你应该明白Q这个世界上有富也有贫,有阴也有亮,有丑也有,到底看到什么,取决于自己是U极q是消极。在q轻时学会勤勉地工作Q用一U光明的思维对待生活Q那么,只要张开手掌Q你׃发现Q里面有一片灿烂的人生?/p>
把感恩刻在石头上Q深深地感谢别h帮助q你Q永q铭讎ͼq是人生应有的一U境界;把仇恨写在沙滩上QE淡忘掉别Z完你,学会宽容Q让所有的怨恨随着潮水一M复返Q这也是一Uh生境界?/p>
学会倒出_才能装下更多的水。从毕业那天开始,学会把每天都当成一个新的v点,每一ơ工作都从零开始。如果你懂得?#8221;归零”当成一U生zȝ常态,当成一U优U的gl,当成一U时刻要做的事情Q那么,l过短短几年Q你可以完成自p业生涯的正确规划与全面超?/p>
在职业v步的短短道\上,惌得到更好、更快、更有益的成长,必M归零思维来面对这个世界。不要以大学里的清高来标榜自己,不要觉得自己特别优秀Q而是要把自己的姿态放下,把自qw架放低Q让自己沉淀下来Q抱着学习的态度去适应环境、接受挑战。放?#8221;w段”才能提高whQ暂时的俯低l会促成未来的高?/p>
q轻Z校园或者从一个环境进入一个新环境Q就要勇于将原来环境里熟悉、习惯、喜Ƣ的东西放下Q然后从零开始。我们想在职Z获得成功Q首先就要培养适应力。从自然{化ؓ单位人是融入职场的基本条件。一个hL低ƈ不可怕,怕的是境界低。越计较自我Q便没有发展前景;相反Q越是主动付出,那么他就会快速发展。很多今天取得一定成q人,在职业生涯的初期都是从零开始,把自己沉淀再沉淀、倒空再倒空、归零再归零Q正因ؓq样Q他们的人生才一路高歌,一路飞扬?/p>
在毕业这几年里,我们要让q去归零Q才不会成ؓ职场上那只背着重壳爬行的蜗牛,才能像天IZ的鸟儉K栯盈地飞翔。请好好品味一下杰?#183;韦尔奇说q的一句话Q?#8221;U正自己的行为,认清自己Q从零开始,你将重新C职场坦途?#8221; 吐故才能UxQ心静才能n凉,有舍才能有得Q杯I才能水满,放下才能越?/p>
归零思维五大表现Q心中无我,g无钱Q念中无他,朝中无hQ学无止境?/p>
q轻人难免带着几分傲气Q认己无所不能、所向披靡,其实不然Q初入职场的Chq是?#8221;婴儿”Q正处在从爬到走的成镉KDc在毕业q几q里Q一定要让自己逐步培养起学徒思维、vl|维、空杯思维Q具有这h维的h心灵L敞开的,能随时接受启C和一切能Ȁ发灵感的东西Q他们时刻都能感受到成功女神的召唤?/p>
[INFO] Building jar: /home/dl9pf/svn/mindquarry/mindquarry-jcr/mindquarry-jcr-changes/target/mindquarry-migration-with-dependencies.jar Windows环境? @REM set MAVEN_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE... 它的意思是你可以设|一些Maven参数Q我们就在注释下面加入一行: set MAVEN_OPTS= -Xms128m -Xmx512m E:\test>mvn -version E:\test>set MAVEN_OPTS= -Xms128m -Xmx512m Linux环境?/strong> MAVEN_OPTS=-Xmx512m 如果你用Hudson ?Hudson + Maven做持l集成,q不q怹遇到了类似的错误Q那么上qCU方式都不再v作用了,因ؓHudson使用自己的maven-agent来启动MavenQ不会去调用Maven的脚本,自然相应的配|也无效了?/p>
好在Hudson也给为我们提供了配置点,在Hudson的项目配|页面中Q有一块Build区域Q这里我们已l设|了Root Pom和Goals。注意该区域的右下角有一?Advanced..."按钮Q点M看到MAVEN_OPTS输入框,q里输入"-Xmx512m"OK了?/p>
m2eclipse?/font> 目上右?-> Run As -> Run Configurations -> Maven Build 上右?-> New q时会看C个mavenq行配置对话框,q里面其它的配置我不多解释了Qؓ了解军_存溢出的问题Q我们可以选择W二个TAB: JREQ然后在VM arguments中输入配|如Q?Xms128m -Xmx512m?/p>
Struts2的值是保存在ValueStack中的Q假设有一个字W串strQ我们一般是q么取值的Q?/p>
<s:property value="str"/> 或?${str} 如果惛_jsp中用的话,可以q么取: 也可以把ValueStack中的值先攑ֈattribute中,然后直接取attribute的| Ҏ一Q?/strong> <s:set name="str" value="'Hello World'"></s:set> <s:property value="%{@com.common.Constant@func(#str)}"/> func是类com.common.Constant里面的一个静态方?/p>
str是动态的参数 Ҏ二: <s:bean name="com.common.StrutsHelper" id="helper" /> <s:set name="str" value="'Hello World'"></s:set> <s:property value="#helper.func(#str)" /> func是类com.common.StrutsHelper里面的一个普通方?/p>
str是动态方?/p>
s:bean其实是对cStrutsHelper的实例化Q跟Ҏ一有些区别Q方法一里的函数必须是静态的
此参数需要Java SE release 5.0 update 14 或以上支?/span>
set JAVA_OPTS=%JAVA_OPTS% -server -Xms512m -Xmx800m -XX:PermSize=64M -XX:MaxPermSize=128m -Djava.awt.headless=true -XX:+HeapDumpOnOutOfMemoryError -XX:+HeapDumpOnCtrlBreak
— export IBM_HEAPDUMP=true
— export IBM_HEAP_DUMP=true
— export IBM_HEAPDUMP_OUTOFMEMORY=true
— export IBM_JAVADUMP_OUTOFMEMORY=true
— export IBM_JAVACORE_OUTOFMEMORY=true
— export IBM_HEAPDUMPDIR=<directory_path>
]]>
]]>
解压出jetty.jar中的org/mortbay/jetty/webapp/webdefault.xml文gQ将q一选项由true改ؓfalseQ另存到src/main/resources目录Q或者其它自选目录?
<param-name>useFileMappedBuffer</param-name>
<param-value>true</param-value> <!-- change to false -->
</init-param>
把修改后的webdefault.xml文g跟pom.xml攑֜一?br />
修改pom.xml里的Jetty Plugin的配|,加入webdefault.xml
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.7</version>
<configuration>
<contextPath>/</contextPath>
<webDefaultXml>webdefault.xml</webDefaultXml>
...
</configuration>
...
</plugin>
...
附。。。在目中用到的Jetty用Java代码Call Jetty启动的方?br />
import org.mortbay.jetty.Server;
import org.mortbay.jetty.nio.SelectChannelConnector;
import org.mortbay.jetty.webapp.WebAppContext;
public class JettyStarter {
public JettyStarter() {
}
public static void main(String[] args) {
try {
Server server = new Server();
Connector connector = new SelectChannelConnector();
connector.setPort(9999);
server.setConnectors(new Connector[] { connector });
WebAppContext webapp = new WebAppContext();
webapp.setContextPath("/");
webapp.setResourceBase("./src/main/webapp");
webapp.setDefaultsDescriptor("./webdefault.xml");
server.setHandler(webapp);
server.start();
server.join();
} catch (Exception e) {
e.printStackTrace();
}
}
}
]]>
[INFO] ------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Java heap space
[INFO] ------------------------------------------------------------------------
[INFO] Trace
java.lang.OutOfMemoryError: Java heap space
at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:99)
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:518)
...
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7 minutes 14 seconds
[INFO] Finished at: Wed Sep 05 07:44:55 CEST 2007
[INFO] Final Memory: 37M/63M
[INFO] ------------------------------------------------------------------------
解决的方法是调整java的堆大小的倹{?/strong>
扑ֈ文g%M2_HOME%\bin\mvn.bat Q这是启动Maven的脚本文Ӟ在该文g中你能看到有一行注释ؓQ?/p>
之后Q当你运行Maven命o?mvn -version 的时候,你会看到如下的输出:
Maven version: 2.0.9
Java version: 1.6.0_07
OS name: "windows 2003" version: "5.2" arch: "x86" Family: "windows"
我们看到Q配|的Maven选项生效了,OutOfMemoryError也能得以相应的解冟?/p>
也可以通过讄环境变量解决该问题, 如,~辑文g /etc/profile 如下
export JAVA_HOME MAVEN_HOME MAVEN_OPTS JAVA_BIN PATH CLASSPATH
cM以上的方法都会失效,所qm2eclipse提供了配|点。步骤如下:
<s:property value="#hello.substring(#hello.indexOf('as')+2)"/> ---输出字符丌Ӏ结果ؓ Miky
]]><%@ page import="com.opensymphony.xwork2.util.ValueStack" %>
……
<%= ((ValueStack)request.getAttribute("struts.valueStack")).findString("str") %><s:set name="str" value="%{str}" />
<%=request.getAttribute("str") %>
]]>
问题产生的原因:
1、由于在生成的XMLl构中插入了一些未在XSD中定义的节点Q那么这些节Ҏ法用XMLBeans所采用的对象的Ҏ获取Q只能采用DOM的方式来处理Q但在处理的q程中报“xmlbeans dom level 3 not implemented”
//实例化一个文档构建器工厂
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
//通过文档构徏器工厂获取一个文档构建器
DocumentBuilder builder = factory.newDocumentBuilder();
//通过文档通过文档构徏器构Z个文档实?/span>
AssertionDocument assertionDoc = AssertionDocument.Factory.parse(new File(”xml/assertion.xml”), loadOptions);
Document doc = builder.parse(new InputSource(new StringReader(assertionDoc.toString())));
doc.getDocumentElement().setIdAttribute(”AssertionID”, true);
#??W号在OGNL表达式中l常出现Q而这三种W号也是开发者不Ҏ掌握和理解的部分。在q里W者简单介l它们的相应用途?br /> 1Q?W号的用途一般有三种?/p>
1)讉K非根对象属性,例如CZ中的#session.msg表达式,׃Struts 2中值栈被视为根对象Q所以访问其他非根对象时Q需要加#前缀?/p>
实际上,#相当于ActionContext. getContext()Q?session.msg表达式相当于ActionContext.getContext().getSession(). getAttribute
("msg") ?/p>
2)用于qo和投影(projectingQ集合,如示例中的persons.{?#this.age>20}?/p>
3)用来构造MapQ例如示例中?{'foo1':'bar1','foo2':'bar2'}?/p>
2Q?W号
%W号的用途是在标志的属性ؓ字符串类型时Q计OGNL表达式的倹{如下面的代码所C:
构造Map
<s:set name="foobar" value="#{'foo1':'bar1', 'foo2':'bar2'}" />
<p>The value of key "foo1" is <s:property value="#foobar['foo1']" /></p>
<p>不?Q?lt;s:url value="#foobar['foo1']" /></p>
<p>使用%Q?lt;s:url value="%{#foobar['foo1']}" /></p>
3Q?W号
$W号主要有两个方面的用途?/p>
在国际化资源文g中,引用OGNL表达式,例如国际化资源文件中的代码:reg.agerange=国际化资源信息:q龄必须?{min}?{max}之间
?/p>
在Struts 2框架的配|文件中引用OGNL表达式,例如下面的代码片断所C:
<validators>
<field name="intb">
<field-validator type="int">
<param name="min">10</param>
<param name="max">100</param>
<message>BAction-test校验Q数字必Mؓ${min}?{max}之间Q?lt;/message>
</field-validator>
</field>
</validators>