发布于 2014-09-06 00:25:32 | 287 次阅读 | 评论: 0 | 来源: 网友投递
Apache Wicket Java Web开发框架
Wicket是一个Java 语言的Web开发框架,与Struts,WebWork,Tapestry 相类似。其特点在于对Html和代码进行了有效的分离(有利于程序员和美工的合作),基于规则的配置(减少了XML 等配置文件的使用),学习曲线较低(开发方式与C/S相似),更加易于调试(错误类型比较少,而且容易定位)。
Apache Wicket 6.17.0 发布,此版本修复了 31 个 bugs,添加了 29 处改进。
值得关注的改进: - Make Wicket-Atmosphere testable - AtmosphereTester (WICKET-5452) - Introduce a marker interface for exception which are recommended to be handler by the framework (WICKET-5628) - Lots of work on the serialization/object checkers (WICKET-5634, WICKET-5642, WICKET-5667) 下载: Maven: <dependency> <groupId>org.apache.wicket</groupId> <artifactId>wicket-core</artifactId> <version>6.17.0</version> </dependency> 直接下载: * Source: http://www.apache.org/dyn/closer.cgi/wicket/6.17.0 * Binary: http://www.apache.org/dyn/closer.cgi/wicket/6.17.0/binaries 改进列表: ** 子任务 * [WICKET-5633] - Make JavaScriptFilteredIntoFooterHeaderResponse non-final to be able to create custom filters ** Bug 修复 * [WICKET-5371] - IllegalArgumentException: Argument 'page' may not be null. - when sending event from asynchronous process * [WICKET-5539] - Allow preserving of the parsed PageParameters when re-creating an expired page * [WICKET-5564] - AjaxRequestTarget.focusComponent() does not work when two Ajax responses arrive next to each other * [WICKET-5603] - OnChangeAjaxBehavior attached to DropDownChoice produces two Ajax requests in Chrome v35 * [WICKET-5607] - Wicket Ajax fires calls scheduled by AbstractAjaxTimerBehavior even after unload of the page * [WICKET-5609] - AutoCompleteTextField can only complete text that is visible on screen browser screen * [WICKET-5615] - UploadProgressBar does not show up if no FileUploadField is given * [WICKET-5616] - CLONE - ModalWindow is not visible in Safari when opened from a link at the bottom of a large page * [WICKET-5619] - ConcurrentModificationException may occur when calling EventBus.post() * [WICKET-5624] - Do not throw when WebSocket is not supported * [WICKET-5626] - ConcatBundleResource#reportError() doesn't print the resource attributes * [WICKET-5630] - Fix last button translation germany of wizard to 'Letzter' * [WICKET-5631] - Allow submitting with POST method for PhantomJS * [WICKET-5636] - Update StatelessForm's and AbstractRepeater's javadoc that FormComponents should be repeated only with RepeatingView * [WICKET-5637] - Fix the encoding of the Chinese translations for Wizard component * [WICKET-5639] - ResourceResponse does not write headers when status code is set * [WICKET-5643] - WebPageRenderer should bind a Session if redirect is required and the session is temporary. * [WICKET-5647] - missing generic cast causes compile error on OS X / jdk 8 * [WICKET-5655] - Problem with setting of IComponentInheritedModel and FLAG_INHERITABLE_MODEL * [WICKET-5656] - PropertyResolver does not scan for NotNull in annotation tree * [WICKET-5657] - wicket-autocomplete may fail after preceeding Ajax request * [WICKET-5662] - @SpringBean(name="something", required=false) still throws org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'something' is defined * [WICKET-5670] - org.apache.wicket.protocol.ws.api.registry.IKey should be Serializable (IClusterable) * [WICKET-5679] - RenderStrategy REDIRECT_TO_RENDER lets fail test with BaseWicketTester#startComponentInPage * [WICKET-5680] - AjaxEditableLabel keeps raw input after cancel following a validation failure * [WICKET-5682] - AbstractAjaxTimerBehavior fails to trigger * [WICKET-5684] - Autocomplete example renders the search term * [WICKET-5685] - jquery.wicketatmosphere.js is not packed in wicket-atmosphere.jar and thus leads to 404 * [WICKET-5686] - @Inject should require the bean dependency instead of setting null * [WICKET-5687] - content type in header is being lost when using a AbstractTransformerBehavior * [WICKET-5688] - Restore the functionality an IPageManager to be able to clean all data/pages for the current session ** 改进 * [WICKET-4344] - Implement onValidateModelObjects() and beforeUpdateFormComponentModels() for nested forms * [WICKET-4660] - Make it possible to notify about Atmosphere internal events * [WICKET-5452] - Make Wicket-Atmosphere testable - AtmosphereTester * [WICKET-5602] - DynamicImageResource should set the mime type after reading the image data * [WICKET-5605] - Store browser capabilities in local variables in wicket-event-jquery.js * [WICKET-5611] - Add AjaxChannel.DEFAULT constant = "0" and type "Queue" * [WICKET-5627] - broadcastMessage(): hook to set more thread-local context before rendering components * [WICKET-5628] - Introduce a marker interface for exception which are recommended to be handler by the framework * [WICKET-5629] - Add an HeaderItem for meta data tags such as <meta> or canonical <link> * [WICKET-5634] - Add IObjectCheckers that fails the serialization when the Session or another Page are serialized * [WICKET-5635] - Provide a way to modify ResourceReferenceRegistry.DefaultResourceReferenceFactory externally to be used by wicket-bootstrap-less * [WICKET-5642] - CheckingOutputObjectStream should filter duplicates by identity, not by equality * [WICKET-5645] - Markup String of IMarkupResourceStreamProvider throws NPE for inherited markup * [WICKET-5646] - Allow subclasses of ComponentStringResourceLoader to stop at specific components * [WICKET-5648] - CookieUtils - multivalue related methods are broken due to the usage of ";" as a separator for the values * [WICKET-5650] - Make is possible to position the choice label before/after/around the choice * [WICKET-5651] - Add TagTester#getChild(String tagName) method * [WICKET-5652] - Improve Javadoc of Ajax behaviors concerning their onXyz() methods * [WICKET-5653] - Add a setter for IViolationTranslator to BeanValidationConfiguration * [WICKET-5654] - DefaultViolationTranslator should maybe use getMessage() * [WICKET-5658] - AjaxFormComponentUpdatingBehavior should not clear the rawInput when updateModel is false * [WICKET-5659] - Add a setting to MultiFileUploadField to not close the file uploads' streams * [WICKET-5660] - Throw more specific exception when a component cannot be found by ListenerInterfaceRequestHandler * [WICKET-5667] - Preserve the NotSerializableException if an error occur while using the IObjectCheckers * [WICKET-5668] - StringResourceModel with custom locale * [WICKET-5671] - Rename log4j.properties in the quickstart when creating a project for WildFly * [WICKET-5673] - Improve BookmarkableMapper and BasicResourceReferenceMapper to not match when the last segment is empty * [WICKET-5674] - Use jquery.atmosphere.js as a Webjar * [WICKET-5683] - PreviousButton isEnabled() should bo logical conjunction of getWizardModel().isPreviousAvailable() and super.isEnabled() ** 任务 * [WICKET-5604] - Add a page to the site that lists other Apache projects that use Wicket * [WICKET-5632] - Use frontend-maven-plugin to run the JavaScript tests * [WICKET-5665] - WicketTester#assertComponentOnAjaxResponse() cannot test invisible components