Kontakt

Fakturační údaje

IČ: 87189224, BÚ: 1958653063/0800

Contact info in QR code

Musico

Informace

  • Webová aplikace vytvořená pomocí technologií EJB a JSF, s úmyslem nasazení na Glassfish serveru.
  • Psaná jako semestrální práce pro předmět X33EJA.
  • Účelem bylo osvojit si:
    • Návrh doménového modelu a jeho implementaci (alespoň jedna vazba M:N)
    • Použití JPA pro persistenci
    • Transakce
    • Použití EJB (stateless i statefull)
    • Lokalizaci do více jazyků
    • Autorizaci uživatelů, rozdělení do rolí a zabezpečení přístupu k business vrstvě
    • Webové rozhrání (servlety, jsp, nebo web framework)

Zdrojové kódy

 1: <%-- 
 2:     Document   : index
 3:     Created on : Jan 2, 2010, 5:37:03 PM
 4:     Author     : Ondrej Macoszek <macosond@fel.cvut.cz>
 5: --%>
 6: <%@page contentType="text/html" pageEncoding="UTF-8"%>
 7: 
 8: <%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
 9: <%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
10: <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
11: 
12: <f:view locale="#{localeBack.currentLocale}">
13: <jsp:include page="header.jsp" />
14: 
15: <h:form title="#{title.musicianAdd}">
16:         <h:commandLink value="#{title.musicianAdd}" action="add" />
17: 
18:         <h2><h:outputText value="#{title.musicianList}" /></h2>
19: 
20:         <c:choose>
21:         <c:when test="${musicianBack.musicianListModel.rowCount > 0}" >
22:         <h:dataTable value="#{musicianBack.musicianListModel}" var="musician">
23:                 <h:column>
24:                         <f:facet name="header">
25:                                 <h:outputText value="#{msg.firstName}" />
26:                         </f:facet>
27:                         <h:outputText value="#{musician.firstName}" />
28:                 </h:column>
29: 
30:                 <h:column>
31:                         <f:facet name="header">
32:                                 <h:outputText value="#{msg.secondName}" />
33:                         </f:facet>
34:                         <h:outputText value="#{musician.secondName}" />
35:                 </h:column>
36:                 <h:column>
37:                         <f:facet name="header">
38:                                 <h:outputText value="#{msg.artName}" />
39:                         </f:facet>
40:                         <h:outputText value="#{musician.artName}" />
41:                 </h:column>
42: 
43:                 <h:column>
44:                         <f:facet name="header">
45:                                 <h:outputText value="#{msg.biography}" />
46:                         </f:facet>
47:                         <h:outputText value="#{musician.biography}" />
48:                 </h:column>
49: 
50:                 <h:column>
51:                         <h:commandButton action="#{musicianBack.edit}" value="#{msg.edit}" />
52:                         <h:commandButton action="#{musicianBack.delete}" value="#{msg.delete}" />
53:                 </h:column>
54:         </h:dataTable>
55:         </c:when>
56:         <c:otherwise>
57:                 <p><h:outputText value="#{msg.noResults}" /></p>
58:         </c:otherwise>
59:         </c:choose>
60: 
61: </h:form>
62: 
63: <jsp:include page="/common/footer.jsp" />
64: </f:view>