我建设的小网站在Java(Spring视与JSP的意见)和我试图找到最好的解决方案,包括几个可重复使用的模块(如"最新消息"的"即将举行的活动"...).

因此,问题是:模块、瓷砖或其他一些技术?

有帮助吗?

解决方案

如果您使用的弹簧视,那么我推荐使用。在春、组件只是轻量级的控制,因为他们只负责一个片段的整个网页,并且是非常容易写。如果您使用的弹簧2.5,然后你可以享受所有好处的新的注释的支持,并且他们很好地适应在整个春天的应用程序的依赖注射和其他福利的使用弹簧。

组件控制器几乎是同样作为一个servlet控制器,这是一个简单的例子:

@RequestMapping("VIEW")
@Controller
public class NewsPortlet {

    private NewsService newsService;

    @Autowired
    public NewsPortlet(NewsService newsService) {
        this.newsService = newsService;
    }

    @RequestMapping(method = RequestMethod.GET)
    public String view(Model model) {
        model.addAttribute(newsService.getLatests(10));
        return "news";        
    }
}

在这里,NewsService将自动注入控制器。的看法添加一个清单的目的模式,这将可作为${newsList}在JSP。春天将寻找一个名为新闻。jsp的基础上返回值的方法。该RequestMapping告诉弹,这位指示是用于查模式的组件。

XML配置只需要指定查看和控制器的位置:

<!-- look for controllers and services here -->
<context:component-scan base-package="com.example.news"/>

<!-- look for views here -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/jsp/news/"/>
    <property name="suffix" value=".jsp"/>
</bean>

如果你想要简单地嵌入组件在现有的应用程序,可束组件的容器,例如 , 太阳, 或 Apache.如果你想要建立应用程序设置入口小程序,您可能想要考虑的一个完全成熟的portlal解决方案,例如 产品网页上浏览门户网站.

其他提示

瓷砖,可以是一个痛苦。大改进了什么来之前(即没什么),而是限制性的。

检票 可能更为什么你要找的,除非你已经决定JSP。

我不建议使用Portlet除非您的应用程序是一个真正的 网门户网站.

如果你只是想要"可重复使用的组件"使用 JSP tagfiles, 他们都死了简单而又非常强大,因为它们是相同的作为定期Jsp。

我有经验使用的瓷砖和所涉及的复杂性只是不值得的。

我是个大风扇 应用程序.它可以让你写你的组件作为正常Java类然后你就可以插入他们进入网页。整个事情结束了正在编制,以Javascript。

这里有一个例子:

public class MyApplication implements EntryPoint, HistoryListener
{
    static final String INIT_STATE = "status";

    /**
     * This is the entry point method.  Instantiates the home page.
     */
    public void onModuleLoad ()
    {
        RootPanel.get ().setStyleName ("root");
        initHistorySupport ();
    }

    private void initHistorySupport ()
    {
        History.addHistoryListener (this);

        // check to see if there are any tokens passed at startup via the browser’s URI
        String token = History.getToken ();
        if (token.length () == 0)
        {
            onHistoryChanged (INIT_STATE);
        }
        else
        {
            onHistoryChanged (token);
        }
    }


    /**
     * Fired when the user clicks the browser's 'back' or 'forward' buttons.
     *
     * @param historyToken the token representing the current history state
     */
    public void onHistoryChanged (String historyToken)
    {
        RootPanel.get ().clear ();
        Page page;
        if (Page1.TOKEN.equalsIgnoreCase (historyToken))
        {
            page = new Page1 ();
        }
        else if (Page2.TOKEN.equalsIgnoreCase (historyToken))
        {
            page = new Page2 ();
        }
        else if (Page3.TOKEN.equalsIgnoreCase (historyToken))
        {
            page = new Page3 ();
        }
        RootPanel.get ().add (page);
    }
}

我有很多经验portlet与阿贾克斯JSF(借助该)和产品网页上浏览的门户,我不会推荐他们的任何人-一切看起来很好的阅读时的教程和真正的地狱中的做法。当然我认为他们是更加方便和轻春视和JSP,但无论如何、门都没有得到很好的支持技术恕我直言。

我不是100%确定什么是"可重复使用的组件"的装置,在这方面,但是如果你的意思是,你想某些共同的要素出现在每一页上,例如横幅广告,页脚,导航链接,等等, 然后再看看比 SiteMesh.我的团队已经使用它成功地在几个国际化的网络应用程序。

挂毯 是Java网的应用程序框架,重点在于容易地建立可重复使用的组件。

我已经使用sitemesh,这是良好的包装设置的网页的标准的标题和脚注,但挂毯是更好地为创建的组件上使用的许多网页,可能很多次每页。挂毯组件可以采取的其它部件将作为参数,它允许Sitemesh式包装。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top