Very simple CDI application web page contains only: $END$

Hello All,
This is my first day trying Vaadin. I created a simple application from the instructions here: https://vaadin.com/wiki/-/wiki/10674/I+-+Getting+started+with+Vaadin+CDI

I got the initial version running, but when I changed it to be a CDI application I get “$END$” on the web page with a title of “$Title$”. I can’t figure out what I am missing. I am using Intellij Ultimate using the TomEE 7.0.68 app server. Attached is my UI class.

Thanks for any help.

Mike.

27405.java (1.76 KB)
27406.java (1.34 KB)
27407.java (232 Bytes)

That is weird, I’m pretty sure that output doesn’t come from Vaadin. Does your server output any logs pertaining to Vaadin CDI Servlet? What UI are you trying to access? (the string in the CDIUI anntotation maps URLs).

And BTW, MessageTextField should NOT be RequestScoped; use either @Dependent or @UIScoped.

Thank Thomas. I tracked it down to the index.jsp that is created by Intellij when creating a project from a Maven archetype. This is on a personal project that I work on at home so I still need to figure out how to get the actual web page to display in Vaadin. I removed the index.jsp. I must be missing the initial page configuration somewhere.

By default, the CDIServlet deploys things to the deployment root, and the CDIUI adds it’s own mapping to that. So, in your case, the URL to the vaadin app is localhost:8080/yourapp/housetracker.

Now, this might not work properly because the Vaadin servlet will expect Vaadin things to be found under the url localhost:8080/yourapp/VAADIN, which you haven’t mapped. You can either map it (by extending the vaadinCDIServlet and adding your @WebServlet annotation to it, or you can map your UI to an empty string, making your vaadin app deploy at localhost:8080/yourapp/.

Hope this helps :slight_smile: