free

阅读 / 问答 / 标签

Pb-Free中PB是什么含义呢?

Pb是化学元素铅的符号pb-free是不含铅的意思

acid-free是什么意思?

无酸

rohs-free是什么意思咧?

符合rohs。

tray(lead-free PKG)是什么意思?

(lead-free PKG):表示无铅封装tray:指托盘意思就是“托盘式无铅封装”

hasl lead free是什么意思

无铅化热风整平

请问一下 LEADFREE PART 是什么意思?

无铅的零件

内存的制造工艺中,lead free (无铅)和 Green(环保)

leadfree无铅RoHS环保检测包含六项,其中一项为Pb铅,含量<1000ppm为合格,所以无铅肯定是符合RoHS的.也就是环保包含了无铅,无铅的不一定环保,因为环保还有其他五项

lead free, pb free, rohs有什么区别?

lead free无铅 pb free无铅 是一个意思.RoHS环保检测包含六项,其中一项为Pb铅,含量<1000ppm为合格,所以无铅肯定是符合RoHS的.

锡丝标签上标识Lead_Free表示什么

锡丝标签一般会有,锡丝大小,含量,重量等

两个对号一个点和LEAD-FREE是什么意思

rohs-free的含义:免除RoHS检测。 RoHS一共列出六种有害物质,包括:铅Pb,镉Cd,汞Hg,六价铬Cr6+,多溴二苯醚PBDE,多溴联苯PBB。 RoHS是《电气、电子设备中限制使用某些有害物质指令》(the Restriction of the use of certain hazardous substances in electrical and electronic equipment)的英文缩写。 free [英][fri:] [美][fri] adj.自由的; 免费的; 免税的; 空闲的; adv.免费地; 自由地,无拘束地; 一帆风顺地; vt.免除; 释放; 使自由; 解救。

两个对号和LEAD-FREE是什么意思

rohs-free的含义:免除RoHS检测。 RoHS一共列出六种有害物质,包括:铅Pb,镉Cd,汞Hg,六价铬Cr6+,多溴二苯醚PBDE,多溴联苯PBB。 RoHS是《电气、电子设备中限制使用某些有害物质指令》(the Restriction of the use of certain hazardous substances in electrical and electronic equipment)的英文缩写。 free [英][fri:] [美][fri] adj.自由的; 免费的; 免税的; 空闲的; adv.免费地; 自由地,无拘束地; 一帆风顺地; vt.免除; 释放; 使自由; 解救。

valley free 在bgp中是什么意思

BGP中可以将与之相连接的AS分为provider、peering和custom,那么这三者构成一个从上到下的层次结构,provider可以看作山峰,peering可看作是山脚,custom可看作是谷底。BGP中的一个策略是,AS的一个provider向另一个provider传输的数据,不经过该AS的custom,这个过程相当于是一个山峰到山脚,然后到其他山脚,再到山峰,这是不经过谷底的,所以称之为vally-free.

什么是继电器的自由电压?就是VOLT-FREE

是不是不产误动作的最高电压?

lead free hal什么意思

HAL,hot air lereline,喷锡的制程,一种PCB表面处理工艺。lead free是无铅。lead free hal是无铅喷锡工艺。

中国有嘻哈Jony J为什么总忘词 Jony J忘词为什么不freestyle

赛后,JonyJ正面回答主持人的问题表示:我忘词一整段淘汰那一期,导演问我为什么不用freestyle填补,因为我不想胡说八道。如果我没法表达出来自己的歌,那么追求形式上的完整没有意义。嗯,哪怕被当成忘词王。看完这一段真的是觉得他是真正的耿直啊。而在采访中他还提到:1、不要给自己定义,把定义交给别人。做自己想做的事。2、有了竞技胜负心之后,音乐可能没那么纯粹了。3、脏话不是Hip-Hop本身。4、低估时需要先反思自己,再看清局势。我反骨长在里面。

Hamriyah Free Zone – Sharjah, UAE 什么意思

哈姆利亚自由区——沙迦,阿拉伯联合酋长国沙迦酋长国总面积2590平方公里,沿着阿拉伯海湾的海岸线全长20公里,是阿联酋唯一一个跟阿其他酋长国都接壤,且紧邻伊朗和阿曼的酋长国。凭借良好的地理优势,沙迦的经济在未来会有一个快速的发展。沙迦有两个自由区:沙迦哈姆利亚自由区和沙迦机场自由区。沙迦哈姆利亚自由区成立于1995年,占地面积1500万平米,目前已发展到2200万平米。从 成立初到现在,两个自由区入驻的企业数量及投资额都有较大增长。其中,沙迦机场自由区的企业入驻数量从2001年4月份的560家上升到2008年6月份 的2700多家,投资额从5亿美金上涨到20亿美金,入驻企业以从事贸易服务为主。

谁知道国外无针注射器(Needle free Injector)的情况?

无针注射做为一项通用技术,其产品线覆盖了胰岛素注射、疫苗注射等多个应用领域,实际上,无针技术适用于所有医用水剂的微量(0.05 – 1.00ml)皮下注射。按动力装置划分,有弹簧机械动力、CO2气体动力和电动力;按安瓿容量划分,有0.3ml、0.5ml和1.0ml三种规格;外观尺寸上有微型笔式和手持枪式,手持枪式主要是气动,用于集团群体的免疫注射,再细分有人用、兽用两种类型,微型笔式主要以弹簧为动力,用于胰岛素、生长激素等注射,也适合个人家庭使用。国际上有20多家公司或科研机构从事无针注射产品的研发,技术上比较成熟的有:BioJect,PharmaJet,Injex,MIT,SQ-Pen,J-Tip,DermoJet等,其中美国Injex公司的产品,取得了FDA和欧洲CE认证,已率先进入了规模化生产和市场销售阶段,其他厂家则分别处在小批量试产试销或产品的完善阶段。近年来,随着美国Injex公司产品的引入和使用,无针注射器在技术上的优势和潜在的市场空间引起了国内医疗器械行业的高度关注,近两年内,已经有十多家公司和科研机构在研制同类产品,包括沈阳、长春X2、北京X2、泰州、常州、武汉、山东X2等地。

哥伦比亚omni-freeze zero清凉科技和美津浓ice touch清凉科技哪个冰凉清凉哪个好?

omni-freeze 好像要布料湿了后 布料中的化学成分与水才起反应 制冷。而且由于是化学反应,所以官方是说能经过50次洗涤,过了后效果可能会消失或减少。ice touch是正常摸着就比普通涤纶和棉要温度低一点点,是由于面料中什么乙醇纤维的热导性高的原因,原理类似钢铁之类的摸起来凉或者酒精挥发时的凉感。然后布料湿后会更凉一些,按官方说法能比环境低2度。不过,mizuno的衣服设计比较中规中矩有些土。columbia的omni-freeze zero系列的要更靓骚。而且一般ice touch面料更适合日常休闲穿,大量运动排大汗不是很好,面料有一点点硬厚。所以,有开发更针对运动的ice touch move面料。

Young, Wild & Free (Feat. Bruno Mars) 歌词

歌曲名:Young, Wild & Free (Feat. Bruno Mars)歌手:Snoop Dogg & Wiz Khalifa专辑:Young, Wild & FreeWiz Khalifa Ft.Snoop Dogg – Young, Wild & FreeSo what we get drunkSo what we smoke weedWe"re just having funWe don"t care who seesSo what we go outThat"s how its supposed to beLiving young and wild and freeUh, Uh huhSo what I keep "em rolled upSaggin" my pants not caring what I showKeep it real with my n-ggasKeep it player for the hoesAnd look clean dont it?Washed it the other day, watch how you lean on itGive me some 501"s jeans on and roll joints bigger than King Kong"s fingersAnd smoke them hoes down "till they stingersYou a class clown and if I skip for the day I"m with you b-tch smokin" grade ASo what we get drunkSo what we smoke weedWe"re just having funWe don"t care who seesSo what we go outThat"s how its supposed to beLiving young and wild and freeYeah, uh you know what?It"s like I"m 17 againPeach fuzz on my faceLookin", on the caseTryna find a hella tasteOh My God, I"m on the chaseChevy, its gettin" kinda heavy, relevant, sellin" itDippin" away, time keep slippin" awayZip in the safe, flippin" for payTippin" like I"m drippin" in paintUp front four blunts, like "Khalifa put the weed in a J"So what we get drunkSo what we smoke weedWe"re just having funWe don"t care who seesSo what we go outThat"s how its supposed to beLiving young and wild and freeYea, roll one, smoke oneWhen you live like this you"re supposed to partyRoll one, smoke one, and we all just having funSo we just, roll one, smoke oneWhen you live like this you"re supposed to partyRoll one, smoke one, and we all just having funSo what we get drunkSo what we smoke weedWe"re just having funWe don"t care who seesSo what we go outThat"s how its supposed to beLiving young and wild and freeSo what we get drunkSo what we smoke weedWe"re just having funWe don"t care who seesSo what we go outThat"s how its supposed to beLiving young and wild and freeyeahurhhttp://music.baidu.com/song/12240790

专业人士进:OPTI-FREE隐形眼镜润眼液在不戴隐形眼镜时可以滴吗??

润眼液可以,护理液就绝对不可以~不过裸眼的时候我觉得滴其他的东西润眼不是更好吗···

I am not free哪首歌里的歌词

也有可能是 I am not afraid

Financial Freedom

The trap of just for live Money. It rips families apart, ruins marriages, and keeps people from pursuing their dreams. Money troubles inject unnecessary stress, anxiety, and arguments into our daily lives, which keeps us in perpetual discontent. We never seem to have enough, and, living paycheck to paycheck, we can"t ever get ahead. We—Joshua & Ryan—know first hand. The road to financial freedom was a long trek for both of us. Even though we had prestigious six-figure careers, we struggled with money back then; and we weren"t financially free for a long time. In fact, it wasn"t until we walked away from those careers (after devising a plan, of course) that we discovered how to get out of debt, how to eliminate unnecessary expenses, how to plan for our future, how to master our finances. While we all need to make money to live—and there"s certainly nothing wrong with earning a great salary— taking control of your financial life involves much more than adjusting your income upward. It involves making repeated good decisions with the resources you have, changing your financial habits, and living deliberately. None of which is inherently easy, especially under the tyranny of today"s instant-gratification culture, but fortunately, regaining control of your finances is simple. A few years ago, overwhelmed by money"s rapacious tug on our lives, the two of us decided to change; we decided to take back control of our finances and our lives. These are the five steps we took, and they are the same principles we use today to ensure that we"ll never again struggle with money. Most of us have no idea where our money is going. We think we know, but we don"t really know. This is doubly true for those of us who are married or live with a significant other. Ergo, the first step toward financial freedom is establishing a written monthly budget. Note the three key words here: written, monthly, and budget. Most of us hear the word invest and we panic. Investing seems so complicated, so abstruse, so not-something-I-can-wrap-my-head- around. Well, instead of thinking of it as investing money , think of it as paying your future self . And with today"s online tools, you needn"t be overwhelmed—investing is easier than ever. Anyone can (and must) do it? Investment is so easy and is also so difficult, if you want to learn to invest I can teach you As for Joshua & Ryan, we use online services like Vanguard, Betterment, and Wealthfront for our personal savings, planning, and investing accounts. Using these services, which usually cost nothing to set up and have no minimum balance requirements, we"ve learned how to invest in our future selves by setting aside a percentage of our income without even noticing it"s gone. We also keep our Safety Nets in these online accounts. We do this for two reasons: 1) the money is liquid, which means we have instant access to our Safety Net if we _need_it, and 2) when the money is sitting in a separate account, it is less tempting to access than if it"s in our bank accounts (plus it earns a better interest rate in a safe, conservative way). We invest our money into four separate buckets using the aforementioned online software: Safety Net, Retirement Fund, House Fund, and Wealth-Building Fund. (For complete details, see our Retirement Planning article, in which we break down how we, as minimalists, plan for retirement and other financial objectives, using screenshots and real-world examples, including statistics and personal figures.) I invest money into different investment accounts: Like Stocks and funds, it does these because I am a professional investor. Right now is the best time to start planning for your future. Whether you"re planning for retirement, wanting to start a business, saving for a home, building a larger Safety Net, or focusing on long-term wealth- building, _now_is the best time to begin. Not next week, not even tomorrow, today . Even if you have no money to invest, you _must_devise a plan to begin investing in your future self. The best way to do this is to automate your investments using an online service like the ones we mentioned above, which takes the guesswork out of investing. The future won"t wait. Do it today. Even if that means 1% of your income, or even $20 a month, to start. Your future self will thank you. Contrary to what some academics might tell you, there is no such thing as “good debt.” Let"s say that again (read it out loud): THERE IS NO SUCH THING AS GOOD DEBT. True, some debt is worse than other debt, but it"s never “good.” The truth is: you will not feel free until you are debt-free. The debtor is always a slave to the lender. Besides, it feels pretty amazing to have no car payments, no credit-card payments, and no student-loan payments looming in the shadows of your lifestyle. Throughout our twenties, we both had excessive piles of debt—more than six-figures each. It was a debilitating feeling—a complete loss of freedom. Although there are no magic bullets, the strategy we"ve seen work best is Dave Ramsey"s Total Money Makeover , a detailed, step-by-step formula that both of us used to create a detailed plan, cut-up our credit cards, and face our debts head-on. Of course, minimalism was a key component in our own journeys toward financial freedom. By clearing the clutter from our lives, we were able to focus on eliminating debt, changing our habits, and making better decisions with fewer resources. We also learned that by simplifying—by identifying which material possessions weren"t adding value to our lives—we were able to more quickly become debt-free by selling more than _half_our stuff locally (yard sales, consignment shops, flea markets) and online No, minimalism is not about deprivation, we don"t want anyone to “live without” in the name of minimalism, but sometimes it makes sense to temporarily deprive ourselves of ephemeral satisfaction when we are attempting to move our lives in a better direction. For example, We both jettisoned our cable subscriptions, satellite radio, and other superfluous bills that saved us hundreds of dollars each month. We also did “strange” things like deliver pizzas, work overtime, and find other ways to supplement our income in the short-term so we could pay off our debts faster. Plus, we sold hundreds of items—electronics, furniture, clothes, DVDs, books, collectables, tools, yard equipment— that weren"t essential, and we used that money to further pay down our debts. Basically, anything that wasn"t nailed to the floor found its way to eBay. Now everything we own serves a purpose or brings us joy, and we don"t miss any of the trinkets of yesteryear. The shortest path toward freedom is: appreciating what you already have. One of the best ways to find gratitude for the gifts you"ve already been given is to change your perspective. To do so, donate your most precious asset: your time. Bring your family to a local soup kitchen, food bank, or homeless shelter. Tutor less-privileged children in your city. Help the elderly with groceries or in-home care. There are more resources than ever to help you contribute beyond yourself in a meaningful way; just do an Internet search for volunteer opportunities in your area. Whatever you do to build your contribution muscle, it needn"t be grandiose; it need only contribute to someone else"s life. If you do this for a few weeks, you"ll realize that your financial problems are tiny compared to many of the problems in the world around you. By discovering the smallness of your financial woes, you"ll feel empowered to take massive action and beat the crap out of your relatively miniature problems. In a short period of time—two or three years—your entire life can radically transform from what it is today. All it takes is a plan (which you now have), determination (i.e., turning your shoulds into musts), and consistent action in the right direction. You are now equipped with a recipe to make outstanding financial changes. You are obviously welcome to add your own ingredients to taste, but when it comes to true financial freedom, these five ingredients—budget, invest, eliminate debt, minimize, contribute—are nonnegotiable. All five are necessary. Yes, you still have a considerable amount of research and planning and hard work ahead of you; but most important, you have to take action today. Diligence is paramount.

alwaysfreei什么牌子

LAWLESS。LAWLESS主打的是ALWAYSFREE,也就是在化妆品中不会添加任何有毒、致癌甚至是影响内分泌的成分,包含但不局限于矿物油,铝,硅酮等等,还有不做动物实验。LAWLESS这个牌子本身不是只有唇釉,像是眼影,散粉都有一些,在美国丝芙兰有卖。

sleet和 freezing rain的共同点和不同点

怎么不加分呢

pgm free catalys是什么意思

pgm free catalys多孔玻璃机体自由催化剂

Joss Stone的《Free Me》 歌词

歌曲名:Free Me歌手:Joss Stone专辑:The Best Of Joss Stone 2003 - 2009Joss Stone - Free MeHey!All right nowAin"t I got you on my back footAnd you know I got you really goodCause there"s something deep inside of meI got to beAnd if you find it hard to follow meIf I loose you in my creative streamThen you only got to raise your eyesAnd see me flyDon"t tell me that I won"tI canDon"t tell me that I"m notI amDon"t tell me that my master planAin"t coming throughDon"t tell me that I won"tI willDon"t tell me how to thinkI fellDon"t tell me cause I know what"s realWhat I can doSomething that you don"t see every dayA little girl who found her wayTo a world that tries to take awayAll of your dreamsI think there"s one thing I will say to youThat there is nothing that you can"t doCause it"s all about your attitudeDon"t let them get to youDon"t tell me that I won"tI canDon"t tell me that I"m notI amDon"t tell me that my master planAin"t coming throughDon"t tell me that I won"tI willDon"t tell me how to thinkI fellDon"t tell me cause I know what"s realWhat I can doAnd we"re singing it out our voiceWe can make that choice to be freeAnd we"re singing it out our voiceWe can make that choice to be free nowMusic, hey, l-u-v, I love itYeah, yeahMusic, now, now, now, whatI love it, yes, I doDon"t tell me that I won"tI canDon"t tell me that I"m notI amDon"t tell me that my master planAin"t coming throughDon"t tell me that I won"tI willDon"t tell me how to thinkI fellDon"t tell me cause I know what"s realWhat I can doFree meFree meFree meFree me...http://music.baidu.com/song/10397776

英语翻译1 We were soon comfortably settled in the place.2 Free u?

1我们被很快安顿下来的地方. 免费提供2伞是酒店的入口处. 3试图投射你的思想和想象未来的生活是什么样子的100年之久. 4父母宣布他们女儿的婚礼在报纸上. 5.他进来后,他放置包服务台. 6.值班警察怀疑地问他为什么那个男孩站在那里. 7.他的办公室工作了,于是他回到了故乡. 8.警察一点也不让他出去,未经许可的城市. 9.这木料腐烂透了,当他们,把它弄坏了. 10.我很遗憾,你犯了一个场景的餐馆里的那样. 11分.他极力克制自己不要在公共场所吸烟. 12.我很不好意思,请他帮忙. 13.她昨天买的新车15万美元的成本. 14.新机场将可以从四面八方. 15.你可以调整高度的椅子这个水平. 16岁.所有的学生都已经超过了他们为自己设定的目标. 17.众所周知,IBM计算机行业的巨头. 18岁.没有可供选择的道路通向遥远的小镇. 19.人们可以采取要么北方还是南方电车到拱门顶端. 20.她能够协商和一些帮助年轻爬上露营. 21.内阁是站在一个垂直的位置. 22.当他长大后,他变得非常喜欢享受. 23.在这次选举中胜出的假设办公室的参议员. 24.这位老人照亮了听到这个消息时,他的儿子在他成功的手术. 25.看到这些照片,他开始回忆起他的经验,在第二次世界大战. 26.大约200名心脏手术一年都在小溪医院. 27.他是一个如此好的讲故事的人,他可以将他的角色 活了起来. 28.我们的老师正试图呈现一个精确的画面的历史. 29.他把她送上这艘船开往纽约. 30岁.他们花了几年来说服我那是可能的. 31.孩子们渴望看到的性能. 32.你的快乐,那是唯一要紧的事情.,6,1,我们舒适的迁入了这个地方 2,在宾馆入口有免费雨伞提供 3,尝试下发散你将来的思维,想象下100年内生活会变成什么样 4,父母在报纸上发布了他们女儿的婚礼。 5,他进来后,就把包寄存在接待处 6,当值的警察有疑问的问小男孩为什么他会站在那里 7,他工作的地方被关停了,所以他回到了老家 8,没有得到允许,警察不让他出城 9,这块木头...,2,1 很快 我们就在那个地方舒适地安顿下来了。 2 在宾馆的入口有免费伞提供。,0,1我们很快就适应了我们住的地方 2酒店进口处提供免费的雨伞 3努力计划未来的想法并想象一下100年后会是什么样子 太多了吧,手机打不下了,汗,0,1 We were soon fortably settled in the place。 我们不久便在那个地方舒适地定居下来。 2 Free umbrellas are available at the entrance of the hotel. 宾馆的入口处有免费的雨伞。 3 Try to project your mind into the futur...,0,英语翻译 1 We were soon fortably settled in the place. 2 Free umbrellas are available at the entrance of the hotel. 3 Try to project your mind into the future and imagine what life will be like in 100 years. 4 The parents announced the wedding of their daughter in the newspaper. 5.After he came in,he deposited his bag on the reception desk. 6.The policeman on duty asked the boy suspiciously why he was standing there. 7.The office he worked for was shut down,whereupon he returned to his hometown. 8.The police do not allow him to go out of the city without permission. 9.The wood was so rotten that when they pressed,it broke. 10.I"m so sorry to see that you made a scene in the restaurant like that. 11.He tried hard to refrain from *** oking in public places. 12.I was too embarrassed to ask him for help. 13.The new car she purchased yesterday costs $15 000. 14.The new airport will be accessible from all directions. 15.You can adjust the height of the chair with this lever. 16.All the students have surpassed the goal they set for themselves. 17.It is known that IBM is a giant in the puter industry. 18.There was no alternative road leading to the remote town. 19.People can take either the north or the south tram to the top of the Arch. 20.She was able to negotiate the climb with some help from younger campers. 21.The cabinet is standing in an upright position. 22.As he got older,he became very fond of forts. 23.The winner of the election assumed the office of senator. 24.The old man lightened up when he heard the news of the successful operation on his son. 25.On seeing the pictures,he began to recall his experiences during World War II. 26.About 200 heart operations a year are performed in Brook Hospital. 27.He is such a good story-teller that he can make his characters e alive. 28.Our teacher was trying to present an accurate picture of history. 29.He put her aboard the ship bound for New York. 30.It took them a few years to convince me that it was possible. 31.The children were eager to see the performance. 32.Your happiness,that is the only thing that matters.

freemarker 获取当前域名

很遗憾的告诉你,frremarker没有类似方法,freemarker最大的用处是 设计一个模板展示数据,数据从哪里来,当然是在后台装载后,在前台显示。 所以解决方式,从后台servlet获取域名;或者从写freemarker的拦截器,在拦截器中获取域名

freemarker中如何比较时间

模板里不能算出日期差,在后台算出结果,在传到对应的模板里

jsp 能用freemarker标签么

  在jsp页面中使用FreeMarker标签,需要在html引入相应的标签,如下步骤:  1.在web.xml文件中启动JspSupportServlet:  在web.xml文件中作如下配置  Xml代码  <servlet>  <servlet-name>JspSupportServlet</servlet-name>  <servlet-class>  org.apache.struts2.views.JspSupportServlet  </servlet-class>  <!--配置JspSupportServlet自启动-->  <load-on-startup>1</load-on-startup>  </servlet>    2.在FreeMarker模板文件中使用“assign指令”导入标签库  Java代码  <#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"] />    3.编写登录页面FTL文件:  Html代码  <#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"] />  <html>  <head>  <title>登录页面</title>  </head>  <body>  登陆  <@s.form action="Login.action">  <@s.textfield name="username" label="用户名"/>  <@s.textfield name="password" label="密码"/>  <@s.submit value="提交"/>  </@s.form>  提示:${name1}=${name2}  </body>  </html>  注意:  name1和name2属性,是后面从Action里面获取的属性,这里是为了验证在模版中获取属性值  WEB容器默认不会处理 FreeMarker模板页面,如果直接通过浏览器直接请求该页面,否则看到的不是我们想要的结果,而是该模板页面的源代码

freemarker怎么引入css文件麻烦告诉我

先找到当前界面的上一级目录../css.css :其中“../”指当前目录的上级目录,其中CSS文件为上上级目录中文件找到其他目录以此类推------解决方案--------------------------------------------------------这个{base}是你再模型中定义的,你没定义当然不可用了啊,假设你再freemarker模型中定义了一个变量叫 base,这个base是, request.getContextPath(),其中request.getContextPath()是你项目的根目录,;那么您的在ftl文件中引用css就可以通过<link rel=stylesheet href=${base}/css/您的.css这里base是您的项目根目录,css是项目根目录下的css文件夹。

freemarker取值问题

我就不理解你为什么这么写??freemarker是一个模板引擎,你要想用好它,你就应该提前设计好,而不是像你这样动态生成一些变量,data.pk_1是一个变量;data_pk_+i 是一个字符串;试问 字符串怎么等于编另呢...

idea怎么创建freemarker类型文件

<servlet-name>mvc-dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- 可以通过contextConfigLocation来自定义SpringMVC配置文件的位置,如不指定,则默认在WEB-INF目录下,名称为[<servlet-name>]-servlet.xml, 此时文件名必须为[<servlet-name>]-servlet.xml,否则会出错--> <!--以下init-param是自定义SpringMVC的配置文件的位置 -->

请教freemarker中#list引发的异常问题

类型有问题,要使用freemarker处理list,从后台传过来的也必须是list,不能用JSONArray

freemarker 有没有附件下载功能

freemarker的主要功能是模板引擎。它可以定义简单的模板,也可以定义复制的模板,比如word,excel之类的文档做模板,然后把定义好的值替换到模板中的变量标识,达到动态生成结果。你说的附件下载和freemarker没有关系,freemarker只负责生成文件,下载是服务器要做的事情,只要你的url正确,你就可以下载你的文件。

freemarker中标签有哪些属性

<@p.tree root=treeRoot showDeep=3 url="v_list" durl="v_list" dparams={"ctgId":"id"} params={"ctgId":"id"} childName="child" treeName="name"/>

freemarker嵌套循环怎么写

<c:forEach var="each" items="${typeProList}" begin="0" end="0"> <c:forEach var="product" items="${each.proList}" begin="0" end="1"> <div class="bot_right_pro_1"> <div class="pro_1_1"><a href="${pageContext.request.contextPath }/s/product.shtml?method=productinfo&proid=${product.id }"><img src="${pageContext.request.contextPath }<%=SConstants.CEM_UPLOAD_PRODUCT_PATH %>${product.picurl }" title="${product.name }" width="90" height="90"/></div> <div class="pro_title"><a href="${pageContext.request.contextPath }/s/product.shtml?method=productinfo&proid=${product.id }" title="${product.name}"><strong><shopping:TagUtil type="string" begin="0" end="5" target="${product.name}"/></strong></a></div> <div class="pro_title"><img src="${pageContext.request.contextPath}/images/huigou/icon_2.jpg" /><strong><span class="red">${product.hmprice }元</span></strong></div> </div> </c:forEach> </c:forEach> 这是我根据以上写的ftl(freemarker 标签写的) <#if typeProList?exists> <#list typeProList[0..0] as each> <#list each.proList[0..1] www.hbbz08.com as product> <div class="bot_right_pro_1"> <div class="pro_1_1"><a href="/huigou/s/product.shtml?method=productinfo&proid=${product.id }"><img src="/huigou<%=SConstants.CEM_UPLOAD_PRODUCT_PATH %>${product.picurl }" title="${product.name }" width="90" height="90"/></div> <div class="pro_title"><a href="/huigou/s/product.shtml?method=productinfo&proid=${product.id }" title="${product.name}"><strong><shopping:TagUtil type="string" begin="0" end="5" target="${product.name}"/></strong></a></div> <div class="pro_title"><img src="/huigou/images/huigou/icon_2.jpg" /><strong><span class="red">${product.hmprice }元</span></strong></div> </div> </#list> </#list> </#if>

freemarker怎样实现加法

${product_index+1}<#assign index =1> <#if list2 ??> <#list list2 as product> <#if index ==1>。。。。。 </#if> <#if index > 1 && index< 5 >... </#if>

ssh+freemarker怎样整合使用

1.在lib中加入freemarker的包2.在文件templates创建一个文件 test.ftl内容为: ${name},你好,${msg}3.创建类4个步骤,具体看类中的使用package abin;import java.io.File;import java.io.OutputStreamWriter;import java.util.HashMap;import java.util.Map;import freemarker.template.Configuration;import freemarker.template.Template;/** * 模板文件(hello,${name})+数据模型(name="******")----------经过FreeMarker整合----输出(hello,******) * 经过4个步骤,见下面 * @author chenhaibin * */public class HelloFreeMarker{ private Configuration conf; //1 创建Configuration实例,该实例负责管理FreeMarker的模板加载路径 public void first() throws Exception { conf=new Configuration(); //放置test.fsl文件的路径 conf.setDirectoryForTemplateLoading(new File("templates")); } private Template t; //2 使用Configuration实例生成Template实例,同时加载指定的模板文件 public void second() throws Exception { t=conf.getTemplate("test.ftl"); } private Map datamap; //3 填充数据模型 public void third() { datamap=new HashMap(); datamap.put("name", "chenhaibin"); datamap.put("msg", "欢迎使用FreeMarker!"); } //4 合并处理 public void four() throws Exception { t.process(datamap, new OutputStreamWriter(System.out)); } public static void main(String[] args) throws Exception { HelloFreeMarker hfm=new HelloFreeMarker(); hfm.first(); hfm.second(); hfm.third(); hfm.four(); }}4.结果是: chenhaibin,你好,欢迎使用FreeMarker!

freemarker如何获取页面请求的参数

你是要获取后台的参数还是前台的参数?

freemarker如何生成html

看freemarker帮助文档

freemarker输出多对一语法

private Teacher teacherid;????你的变量名是teacherid,可以改students.teacherid.name或定义private Teacher teacher;

freemarker 指令函数 显示html标签

不推荐。 要使用FreeMarker的标签必须能够被FreemarkerServlet截获,然后解析加工成HTML 所以你直接上线FTL页,为什么要静态和动态Web模板混合它如果你真的想用。 。 web.xml文件中的freemarker拦截(拦截器开发的*。html页面)

freemarker模板中,如何将取一个list的固定的某个值啊!

想要获取list值下标种某个值: 请直接使用 list[i]

freemarker 遍历list去除重复值问题

貌似没有这个方法,集合去重一般都是放在后台操作的,List() list = new ArrayList<String>();list.add添加list{A,A,B,C,C}Set<String> set = new HashSet<String>();set.addAll(list);//实现去重//重新定义一个list2集合List<String> list2 = new ArrayList<String>();list2.addAll(set);将list2这个集合传到前台<#list list as node>集合中进行迭代

freemarker 取值赋给变量

建议你去官网下载一个中文手册看看http://freemarker.org/

用freemarker生成html时,怎么换行

params.put("content", "这里有个换行 换行");中的 改成<br/>

freemarker怎么使用CSS样式表以及JS文件

html里边怎么用freemarker用,一样的

freemarker自定义指令 怎么获取参数

在项目应用中,遇到这样一个问题,当文本过长时,需要将前面的文本省略一部分,用…代替,而使用css只能在文本最后加…我们可以通过freemarker自定义指令的方式实现上述功能。freemarker自定义指令需要继承TemplateDirectiveModel接口,Java代码 收藏代码package com.nexusy.freemarker.directive; import java.io.IOException; import java.util.Map; import freemarker.core.Environment; import freemarker.template.SimpleScalar; import freemarker.template.TemplateDirectiveBody; import freemarker.template.TemplateDirectiveModel; import freemarker.template.TemplateException; import freemarker.template.TemplateModel; public class EllipsisDirective implements TemplateDirectiveModel { @Override public void execute(Environment env, @SuppressWarnings("rawtypes") Map params, TemplateModel[] loopVars, TemplateDirectiveBody body) throws TemplateException, IOException { String text = ""; int length = 0; if(params.get("text") != null){ text = ((SimpleScalar) params.get("text")).getAsString(); } if(params.get("length") != null){ length = Integer.valueOf(((SimpleScalar) params.get("length")).getAsString()); } if(length < text.length()){ text = "..." + text.substring(text.length() - length); } env.getOut().write(text); } } 然后在springmvc配置文件中配置该指令Xml代码 收藏代码<bean id="ellipsis" class="com.nexusy.freemarker.directive.EllipsisDirective" /> <bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <property name="templateLoaderPath" value="/" /> <property name="freemarkerSettings"> <props> <prop key="datetime_format">yyyy-MM-dd</prop> <prop key="number_format">0.##</prop> <prop key="url_escaping_charset">UTF-8</prop> <prop key="output_encoding">UTF-8</prop> <prop key="template_exception_handler">ignore</prop> </props> </property> <property name="freemarkerVariables"> <map> <entry key="xml_escape" value-ref="fmXmlEscape" /> <entry key="ellipsis" value-ref="ellipsis" /> </map> </property> <property name="defaultEncoding" value="UTF-8" /> </bean> 在模版中使用Html代码 <@ellipsis text="1234567" length="6"></@ellipsis>

freemarker怎么遍历数组

freemarker<#list nodeList as node>${node}</#list>在Action有summary={"a","b"};get、set summary方法页面上显示<#list summary as su> <input type="text" name="button" value="${su}" /><br/></#list>会输出 a b

freemarker 需要引用js吗

要的在action中可以设置项目的根路径 /xiangmupages/map.put("basePath","/xiangmu/");freemarker是根据项目的根路径开始找的 href="${basePath}pages/...运行结果:< link rel="stylesheet" type="text/css" href="/xiangmu/pages/ww/jschart/style.css" / >< script type="text/javascript" src="/xiangmu/pages/ww/jschart/amcharts.js" >< /script > 分享:

FreeMarker 操作下拉框

可以用数据类型转换啊。。只要后台取到值了就行啦。想传什么就在value中写什么啊

freemarker如何遍历模板中所有变量

变量是用一个map存的,你遍历它就行了。或者用一个类来保存你所有的变量

freemarker for循环

freemarker是前端写还是后台写?怎么做才能实现更优的前后台解耦

freemarker是写在前端的,最好的方式,就是把freemarker写成ftl文件,后台传map,这样就可以了。

java 用freemark的好处

1、易学易用 我是看了一天文档就用得挺熟练了,freemarker文档写得太好了,例子丰富,照做一遍全都会了。 2、功能强大 比Velocity强大多了,还支持JSP Tag。不过最有意义的是macro功能,可以自定义常用的macro,实现页面常规操作的可复用性。 3、报错信息友好 很多应用服务器的JSP报错信息是无法定位到源代码行的。不过freemarker报错定位很准确,丝毫不差,而且信息丰富,一看就知道怎么回事

freemarker如何获取页面请求的参数

1.取Application范围的对象xml 代码1. <#if Application.myApplicationAttribute?exists> 2. ${Application.myApplicationAttribute} 3. </#if> 或者 : ${Application.myApplicationAttribute!"default value"} 2.取session范围的对象xml 代码1. <#if Session.mySessionAttribute?exists> 2. ${Session.mySessionAttribute} 3. </#if> 或者 : ${Session.mySessionAttribute!"default value"} 3.取request范围的对象xml 代码1. <#if Request.myRequestAttribute?exists> 2. ${Request.myRequestAttribute} 3. </#if> 或者 : ${Request.myRequestAttribute!"default value"}

为啥freemarker比jsp慢

因为freemarker要转化成html等。freemarker 布局不错。

java 试用freeMarker模板输出报错

错误信息很明显了,他需要一个hashmap,你给了一个arraylist。new一个hashmap, 然后 put("students",stulist)

freemarker怎么判断变量是否等于字符串

<#if abc!""=="名称">是</#if> //

freemarker遍历list问题

你后台设值成map了,应该传list;Expected collection or sequence. articleList evaluated instead to org.apache.struts2.views.freemarker.StrutsBeanWrapper$FriendlyMapModel期望一个集合或列表代替map

如何在FreeMarker访问数据模型中对象属性

步骤如下:①创建Configuration实例,该实例负责管理FreeMarker的模板加载路径,负责生成模板实例。②使用Configuration实例来生成Template实例,同时需要指定使用的模板文件。③填充数据模型,数据模型就是一个Map对象。④调用Template实例的process方法完成合并。根据上面步骤,下面提供一个使用FreeMarker创建输出的Java程序,该程序代码如下:public class HelloFreeMarker{ //负责管理FreeMarker模板文件的Configuration实例 private Configuration cfg; //负责初始化Configuration实例的方法 public void init() throws Exception { //初始化FreeMarker配置 //创建一个Configuration实例 cfg = new Configuration(); //设置FreeMarker的模板文件位置 cfg.setDirectoryForTemplateLoading(new File("templates")); } //处理合并的方法 public void process() throws Exception { //创建数据模型 Map root = new HashMap(); root.put("name", "FreeMarker!"); root.put("msg", "您已经完成了第一个FreeMarker的实例!"); //使用Configuration实例来加载指定模板 Template t = cfg.getTemplate("test.flt"); //处理合并 t.process(root, new OutputStreamWriter(System.out)); } public static void main(String[] args) throws Exception { HelloFreeMarker hf = new HelloFreeMarker(); hf.init(); hf.process(); }}上面代码创建了一个Map实例root,这个root将作为模板文件的数据模型,在该数据模型中存储了两个key-value对,其中第一个是name,第二个是msg,这两个key都有对应的value,这两个value将会填充到模板中对应的插值处。虽然FreeMarker可以在Java中使用,但大部分时候FreeMarker都用于生成HTML页面。下面介绍在Web应用中使用FreeMarker,用Servlet来合并模板和数据模型,下面是Servlet应用中的代码:public class HelloServlet extends HttpServlet{ //负责管理FreeMarker模板文件的Configuration实例 private Configuration cfg; //负责初始化Configuration实例的方法 public void init() throws Exception { //初始化FreeMarker配置 //创建一个Configuration实例 cfg = new Configuration(); //设置FreeMarker的模板文件位置 cfg.setServletContextForTemplateLoading(getServletContext(), "WEB-INF/templates"); } //生成用户响应 public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //创建数据模型 Map root = new HashMap(); root.put("message", "Hello FreeMarker!"); //使用Configuration实例来加载指定模板,即:取得模板文件 Template t = cfg.getTemplate("test.flt"); //开始准备生成输出 //使用模板文件的charset作为本页面的charset //使用text/html,MIME-type response.setContentType("text/html; charset=" + t.getEncoding()); Writer out = response.getWriter(); //合并数据模型和模板,并将结果输出到out中 try { t.process(root, out); } catch(TemplateException e) { throw new ServletException("处理Template模板中出现的错误", e); } }}

freemarke怎么设置文本居中

工具栏

freemarker和jsp的区别

jsp是大家最熟悉的技术优点:1、功能强大,可以写java代码2、支持jsp标签(jsp tag)3、支持表达式语言(el)4、官方标准,用户群广,丰富的第三方jsp标签库5、性能良好。jsp编译成class文件执行,有很好的性能表现缺点:jsp没有明显缺点,非要挑点骨头那就是,由于可以编写java代码,如使用不当容易破坏mvc结构。velocity是较早出现的用于代替jsp的模板语言优点:1、不能编写java代码,可以实现严格的mvc分离2、性能良好,据说比jsp性能还要好些3、使用表达式语言,据说jsp的表达式语言就是学velocity的缺点:1、不是官方标准2、用户群体和第三方标签库没有jsp多。3、对jsp标签支持不够好freemarker优点:1、不能编写java代码,可以实现严格的mvc分离2、性能非常不错3、对jsp标签支持良好4、内置大量常用功能,使用非常方便

用freemarker怎么判断某个字符串是否存在某子串

使用index_of函数进行判断,如果存在则返回索引所在位置,否则返回-1<#if arcontent.content?index_of("<img>")!=-1> 。。。。。。。。。。</#if>

freemarker 和的 beetl 比较,哪些有所欠缺吗

看了一下beetl的介绍,低侵入性有点名不副实,还有模板语法里直接print的,这样侵入性明显增加了啊。自定义标签真心吹毛求疵了,至少使用Java的IDE,freemarker的标签都不会造成什么障碍。使用js语法,这个挺好的,freemarker很多函数的定义都有点反人类了。不过对于最常用的逻辑:循环和判断,我觉得freemarker那种标签形式要好于js方式,写循环和判断,层数一深简直要人命啊,<%}}}}%>这种,还没法对齐!至于性能,提高总是好的,看了一下比较,0.02ms与0.01ms的区别,这个在大多数情况下多没啥意义吧?更何况模板引擎渲染也并非底层操作,一个正常Web页面响应都在50ms以上吧?万分之一的提高而已,反正我觉得吸引力不大。安全输出挺不错的,mvc的分离也是不错的尝试(freemarker确实也可以单独进行渲染,只不过API不是那么有好罢了)。freemarker这种成熟引擎,最大的优点倒不在于其性能多优越,功能多强大,而是业界公认,工具链完善,像我在Intellij里面编辑freemarker,语法检查、自动补全乃至于重构都是很方便的,我觉得要做一个模板引擎,也要从这方面考虑考虑。

如何编写freemarker文件

将要导出的Word另存为xml格式的文件,打开xml 在其中添加freemarker标签,然后另存为outChairDoc.ftl文件.第一步要加入Freemarker.jar包。Servlet代码如下:在outChairDoc.ftl放在包cn.skyclass.jiaowu.freemarker.template下public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {configuration = new Configuration();configuration.setDefaultEncoding("utf-8");try {createDoc(response);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}public void createDoc(HttpServletResponse response) throws Exception {// 要填入模本的数据文件Map dataMap = new HashMap();dataMap.put("docTitle", "fdfdfdfdfdfdf用户信息");List<ChairInfo> list = new ArrayList<ChairInfo>();ChairInfo chairInfo = new ChairInfo();chairInfo.setChairTitle("dfdfd");chairInfo.setTeacherName("tea");chairInfo.setStartTime(new Date());chairInfo.setPlace("dfdfd");list.add(chairInfo);dataMap.put("chairInfoList", list);// 设置模本装置方法和路径,FreeMarker支持多种模板装载方法。可以重servlet,classpath,数据库装载,// 这里我们的模板是放在com.havenliu.document.template包下面configuration.setClassForTemplateLoading(this.getClass(),"/cn/skyclass/jiaowu/freemarker/template");Template t = null;try {// test.ftl为要装载的模板t = configuration.getTemplate("outChairDoc.ftl");t.setEncoding("utf-8");} catch (IOException e) {e.printStackTrace();}// 输出文档路径及名称String fileName="讲座列表.doc";response.setContentType("application/msword");response.addHeader("Content-Disposition", "attachment; filename=" + java.net.URLEncoder.encode(fileName, "UTF-8"));//可防止导出的文件乱码response.setCharacterEncoding("utf-8");PrintWriter out = response.getWriter();t.process(dataMap, out);out.close();}

freemarker和的beetl有哪些区别?

看了一下beetl的介绍,低侵入性有点名不副实,还有模板语法里直接print的,这样侵入性明显增加了啊。自定义标签真心吹毛求疵了,至少使用Java的IDE,freemarker的标签都不会造成什么障碍。使用js语法,这个挺好的,freemarker很多函数的定义都有点反人类了。不过对于最常用的逻辑:循环和判断,我觉得freemarker那种标签形式要好于js方式,写循环和判断,层数一深简直要人命啊,<%}}}}%>这种,还没法对齐!至于性能,提高总是好的,看了一下比较,0.02ms与0.01ms的区别,这个在大多数情况下多没啥意义吧?更何况模板引擎渲染也并非底层操作,一个正常Web页面响应都在50ms以上吧?万分之一的提高而已,反正我觉得吸引力不大。安全输出挺不错的,mvc的分离也是不错的尝试(freemarker确实也可以单独进行渲染,只不过API不是那么有好罢了)。freemarker这种成熟引擎,最大的优点倒不在于其性能多优越,功能多强大,而是业界公认,工具链完善,像我在Intellij里面编辑freemarker,语法检查、自动补全乃至于重构都是很方便的,我觉得要做一个模板引擎,也要从这方面考虑考虑。

使用freemarker怎么在截取字符串

String[] a = 你自己的字符串.split({}) 可以了你可以试试。那个是 过滤 掉 一些字符。而你用的是截取 字符。两个方法不一样。效果应该一样

"freemarker"和"jsp"的不同?

"freemarker"和"jsp"的区别和联系有:一、jsp优点:1、功能强大,可以写java代码2、支持jsp标签(jsp tag)3、支持表达式语言(el)4、官方标准,用户群广,丰富的第三方jsp标签库5、性能良好。jsp编译成class文件执行,有很好的性能表现缺点:jsp没有明显缺点,非要挑点骨头那就是,由于可以编写java代码,如使用不当容易破坏mvc结构。二、freemarker优点:1、不能编写java代码,可以实现严格的mvc分离2、性能非常不错3、对jsp标签支持良好4、内置大量常用功能,使用非常方便5、宏定义(类似jsp标签)非常方便6、使用表达式语言缺点:1、不是官方标准2、用户群体和第三方标签库没有jsp多选择freemarker的原因:1、性能。velocity应该是最好的,其次是jsp,普通的页面freemarker性能最差(虽然只是几毫秒到十几毫秒的差距)。但是在复杂页面上(包含大量判断、日期金额格式化)的页面上,freemarker的性能比使用tag和el的jsp好。2、宏定义比jsp tag方便3、内置大量常用功能。比如html过滤,日期金额格式化等等,使用非常方便4、支持jsp标签5、可以实现严格的mvc分离

freemarker和bootstrap的区别

运行机制就不大一样,jsp是编译成继承自servlet的class文件,运行jsp就是运行一个servlet而freemarker就是套模板,通过模板+内容直接生成HTML然后输出从开发角度来说freemarker 自带一套模板语言,语法实现更简单直观,而且可以通过marco宏编写控件,如果宏无法满足,freemarker也还提供了很多JAVA扩展接口。而JSP不管JSTL还是其他,都是靠taglib实现的,taglib的效率其实并不高,所以在复杂页面的渲染上 ,freemarker会明显高于jsp同时 ,freemarker也不仅仅局限于B/S应用,可以广泛应用到比如代码生成、票据打印模板等各个方面

freemarker如何判断字符是否为空

freemarker中显示某对象使用${name}.??但如果name为null,freemarker就会报错。如果需要判断对象是否为空:<#if name?>……</#if>??当然也可以通过设置默认值${name!""}来避免对象为空的错误。如果name为空,就以默认值(“!”后的字符)显示。??对象user,name为user的属性的情况,user,name都有可能为空,那么可以写成${(user.name)!""},表示user或者name为null,都显示为空。判断为空<#if (user.name)?>……</#if>??

freemarker和"jsp"的不同?

"freemarker"和"jsp"的区别和联系有:一、jsp优点:1、功能强大,可以写java代码2、支持jsp标签(jsp tag)3、支持表达式语言(el)4、官方标准,用户群广,丰富的第三方jsp标签库5、性能良好。jsp编译成class文件执行,有很好的性能表现缺点:jsp没有明显缺点,非要挑点骨头那就是,由于可以编写java代码,如使用不当容易破坏mvc结构。二、freemarker优点:1、不能编写java代码,可以实现严格的mvc分离2、性能非常不错3、对jsp标签支持良好4、内置大量常用功能,使用非常方便5、宏定义(类似jsp标签)非常方便6、使用表达式语言缺点:1、不是官方标准2、用户群体和第三方标签库没有jsp多选择freemarker的原因:1、性能。velocity应该是最好的,其次是jsp,普通的页面freemarker性能最差(虽然只是几毫秒到十几毫秒的差距)。但是在复杂页面上(包含大量判断、日期金额格式化)的页面上,freemarker的性能比使用tag和el的jsp好。2、宏定义比jsp tag方便3、内置大量常用功能。比如html过滤,日期金额格式化等等,使用非常方便4、支持jsp标签5、可以实现严格的mvc分离

freemarker和jsp的区别

运行机制就不大一样,jsp是编译成继承自servlet的class文件,运行jsp就是运行一个servlet而freemarker就是套模板,通过模板+内容直接生成HTML然后输出从开发角度来说freemarker 自带一套模板语言,语法实现更简单直观,而且可以通过marco宏编写控件,如果宏无法满足,freemarker也还提供了很多JAVA扩展接口。而JSP不管JSTL还是其他,都是靠taglib实现的,taglib的效率其实并不高,所以在复杂页面的渲染上 ,freemarker会明显高于jsp同时 ,freemarker也不仅仅局限于B/S应用,可以广泛应用到比如代码生成、票据打印模板等各个方面

freemarker和jstl的区别

JSTL是SUN推出的标准,它不依赖与任何框架,只要将jar包引入,并在页面中引入即可使用,JSTL的流行依赖于它强大的标签库。而FREEMARKER是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP。它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java 等。FreeMarker允许Java servlet保持图形设计同应用程序逻辑的分离,这是通过在模板中密封HTML完成的。模板用servlet提供的数据动态地生成 HTML。模板语言是强大的直观的,编译器速度快,输出接近静态HTML页面的速度。虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据。

Freemarker中判断怎么解释?

这行代码的意思是:如果A存在,且A的值为0,那么...执行下面的代码

什么是 FreeMarker

FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。FreeMarker是免费的,基于Apache许可证2.0版本发布。其模板编写为FreeMarker Template Language(FTL),属于简单、专用的语言。需要准备数据在真实编程语言中来显示,比如数据库查询和业务运算, 之后模板显示已经准备好的数据。在模板中,主要用于如何展现数据, 而在模板之外注意于要展示什么数据

Freemarker变量赋值问题

不要用>,小于 大于 在freemarker里面都是用gt lt来表示的,正确的写法应该是<#macro pager totalPage curPage=1 showPageNum=10> <#if (showPageNum gt totalPage)> <#assign showPageNum = totalPage-1><br/> </#if>${showPageNum}</#macro>

freemarker怎么在双引号里使用

1. 模板+数据模型=输出2. 数据模型a) 类似目录的变量称为hashes,包含保存下级变量的唯一的查询名字,充当其它对象的容器,每个都关联唯一的查询名字b) 类似文件的变量称为scalars,保存单值,有两种类型i. 字符串:用引号括起,单引号or双引号ii. 数字:不用引号iii. 日期:可以是日期,时间或日期-时间iv. 布尔值:true或false,通常在<#if …>标记中使用v. 对scalars的访问从root开始,各部分用”.”分隔,如 animals.mouse.pricec) 另外一种变量是sequences,和hashes类似,充当其它对象的容器,按次序访问,只是不使用变量名字,而使用数字索引,如animals[0].name,索引值从0开始d) 通常每个变量具有上述的一种能力,但一个变量可以具有多种上述能力e) 方法i. ${avg(3,5,20)} ${avg(student.zhangyaang.age,student.situ.age)}f) 宏和变换器:用户自定义的指令(FTL标记)g) 节点:树形结构中的一个节点,常用于xml处理中3. 模板a) 文本:直接输出b) ${…}:称为interpolations,FreeMarker会在输出时用实际值代替,或#{},只用于文本中c) FTL标记:类似于HTML,为了与HTML区分,用#开始,有的以@开始,不会输出,区分大小写,FTL标记不能位于另一个FTL标记内部d) 注释:<#--和-->,不会输出e) 多余的空白字符会在模板输出时移除f) 指令i. 使用FTL标记引用指令,有三种FTL标记1. 开始标记:<#name prarm>2. 结束标记:</#name>3. 空内容指令标记:<#name param />ii. 有两种类型的指令:预定义指令和用户定义指令,用户定义指令要用@替换#iii. FTL标记不能够交叉,应该正确嵌套iv. 如果使用不存在的指令,FreeMarker会产生错误消息v. < , </ 和指令间不允许有空白字符g) 表达式i. 字符串1. 使用单引号或双引号限定2. 特殊字符要转义3. raw字符串,可以认为是文本,其中的$和{等不具有特殊含义,该类字符串在引号前面加r,如${r”${foo}”} ${r”c:foobar”}ii. 数字1. 直接输入,不需要引号2. 精度数字使用”.”分隔,不能使用分组符号3. 不支持科学计数法4. 不能省略小数点前面的05. 数字8 ,+8 ,08和8.00 都是相同的iii. 布尔值:true 和 false, 不使用引号iv. 序列1. 有逗号分隔的子变量列表,有方括号限定,如:<#list [“winter”, ”spring”, ”summer”, ”autumn”] as x>${x}</#list>2. 列表的项目是表达式,如:[2+2, [1,2,3,4], ”whatnot”]3. 可以使用数字范围定义数字序列,如:2..5等同于[2,3,4,5] 注意:数字范围没有方括号 如:5..24. 散列(hash) 由逗号的键/值列表,有大括号限定,键和值之间用冒号分隔{“name”:”zhangyang”,”age”:23} 键和值都是表达式,但键必须是字符串v. 获取变量1. 顶层变量:${variable}, 变量名只能是字母, 数字, 下划线, $, @ 和# 的组合, 不能以数字开头2. 从散列中获取数据a) school.student.nameb) school.[“student”].namec) school[“student”][“name”]说明:使用点语法,变量名有顶层变量一样的限制, 方括号语法没有该限制3. 从序列获(sequences)得数据: 和散列的方括号语法一样, 只是方括号的表达式值必须是数字; 注意: 第一个项目的索引是04. 序列片段: 使用[startIndex..endIndex]语法, 从序列中获得片段(也是序列)5. 特殊变量: FreeMarker内定义的变量, 使用 .variablenae 语法访问vi. 字符串操作1. Interpolation(或连接操作)a) 可以使用${..} 或#{..} 在文本部分插入表达式的值,如${“Hello ${user}”} 等于 ${“Hello”+user}b) ${..} 只能用于文本部分, 不用于FTL表达式中2. 子串假设user的值为”tom cat”${user[0]}${user[4]} ? tc${user[1..4]} ? om cvii. 序列操作连接操作: 和字符串一样, 用”+”<#list [“joe”,”fred”] + [“julia”,”kate”] as user>${user}</#list>viii. 散列操作连接操作: 和字符串一样, 用”+”, 如果有相同的key, 右边的值替换左边的值(后面的替换前面的), 如<#assign ages = {“joe”:23,”fred”:25} + {“joe”:30,”julia”:23}></#assign> 结果: joe的值为30ix. 算术运算1. +, -- , *, /, %${x / 2}2. 操作符两边必须是数字3. 使用 “+” 操作符时,如果一边是数字, 一边是字符串, 就会自动将数字转换为字符串, 如: ${3+”4”} 结果 344. 使用内建的 int 获得整数部分${1.1?int} ?1${1.999?int} ?1${(5/2)?int} ?25. 比较操作符a) 使用=(或==,完全相等)测试两个值是否相等, 使用!=测试两个值是否不相等b) = 和!= 两边必须是相同类型的值c) FreeMarker是精确比较,”x”,”x “和”x”是不等的d) 对数字和日期可以使用<, <=, >, 和>=, 但不用用于字符串e) 由于FreeMarker 会将>解释成FTL标记的结束字符, 所以对于>和>=可以使用括号来避免这种情况, 如<#if (x > y)>f) e)的一种替代方法, 使用lt, lte, gt 和gte来替代6. 逻辑操作符a) &&(and), ||(or), !(not), 只能用于布尔值<#if x < 13 && color = “green”>…</#if><#if ! man>woman</#if>7. 内建函数a) 内建函数的用法类似访问散列的子变量, 只是用”?”|替代”,”b) 用于字符串i. html: 对字符串进行html编码ii. cap_first: 将字符串转换成第一个字母大写iii. lower_case: 小写iv. upper_case: 大写v. trim: 去掉字符串前后的空白字符c) 用于序列i. size: 获得序列中元素的数目d) 用于数字i. int: 取得数字的整数部分e) 例子:test = “tom & jerry”${test?html} ? tom & jerry${test?upper_case?html} ? TOM & JERRY8. 操作符优先顺序h) Interpolation(只用于文本部分)i. Interpolation有两种类型1. 通用Interpolation: ${expr}a) 插入字符串值: 直接输出表达式结果b) 插入数字值: 根据缺省格式(由#setting指令设置)将表达式转换成文本输出; 可以使用内建函数string格式化单个Interpolationc) 例子<#setting number_format=”currency”/> ?金额<#assign answer=43/>${answer} ? $43.00${answer?string} ?$43.00${answer?string.number} ?43${answer?string.currency} ?$43.00${answer?string.percent} ?4,300%2. 数字Interpolation: ${expr} 或#{expr ; format}3. 插入日期: 根据缺省格式(#setting) 将表达式结果转换成文本输出; 可以使用内建的函数string 格式化单个Interpolation, 例子:${update?string(“yyyy-MM-dd HH:mm:ss zzzz”)}4. 插入布尔值: 说明同上<#assign foo = true/>${foo?string(“yes”,”no”)} ?yes5. 数字Interpolation的#{expr ; format}形式可以用来格式化数字, format可以是a) mX: 小数部分最小X位b) MX: 小数部分最大X位c) 例子<#assign x=2.364/><#assign y=4/>#{x; M2} ?2.36#{y; M2} ?4#{x; m1} ?2.4#{y; m1} ?4.0i) 例子i. if指令<#if zhangyang.age < situ.age>Situ is order<#else>Zhangyang is order</#if>ii. list指令 <#list students[0..5] as s_list></#list>取list的前5条记录<table border = “1”><tr><td>name</td><td>age</td><#list students as s_list><td>${s_list.name}</td><td>${s_list.age}</td></#list></tr></table>iii. include指令<#include “/all/header.html”>…<#include “/all/footer.html”>iv. 应用<table><#list students as s_list><tr><td><#if s_list.sex =”man”><img src=”/img/boy.gif”/><#else><img src=”/img/girl.gif/></#if>${s_list.name}</td><td>${s_list.age}</td></tr></#list></table>

freemarker 和的 beetl有哪些区别?

看了一下beetl的介绍,低侵入性有点名不副实,还有模板语法里直接print的,这样侵入性明显增加了啊。自定义标签真心吹毛求疵了,至少使用Java的IDE,freemarker的标签都不会造成什么障碍。使用js语法,这个挺好的,freemarker很多函数的定义都有点反人类了。不过对于最常用的逻辑:循环和判断,我觉得freemarker那种标签形式要好于js方式,写循环和判断,层数一深简直要人命啊,<%}}}}%>这种,还没法对齐!至于性能,提高总是好的,看了一下比较,0.02ms与0.01ms的区别,这个在大多数情况下多没啥意义吧?更何况模板引擎渲染也并非底层操作,一个正常Web页面响应都在50ms以上吧?万分之一的提高而已,反正我觉得吸引力不大。安全输出挺不错的,mvc的分离也是不错的尝试(freemarker确实也可以单独进行渲染,只不过API不是那么有好罢了)。freemarker这种成熟引擎,最大的优点倒不在于其性能多优越,功能多强大,而是业界公认,工具链完善,像我在Intellij里面编辑freemarker,语法检查、自动补全乃至于重构都是很方便的,我觉得要做一个模板引擎,也要从这方面考虑考虑。
 首页 上一页  1 2 3 4 5 6 7  下一页  尾页