вопросы тегов Struts - PullRequest
       10

вопросы тегов Struts

0 голосов
/ 03 октября 2011

У меня есть два связанных файла JSP. Я новичок в этом и немного растерялся.

  1. в # 1, для тд, откуда эти значения, я имею в виду имя, фамилию, отдел.имя? они из полей действия Java или класса гибернации?

  2. в # 2, в строке 10, что такое работник? это employee.employee.id такой же, как тот, что находится внизу кода # 2? Кроме того, в s: select, DepartmentID и имя из некоторого класса?

Большое спасибо за помощь ...

1

<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%> 
<html>
<head>
    <link href="<s:url value="/resources/main.css"/>" rel="stylesheet" type="text/css"/>
    <title><s:text name="label.employees"/></title>
</head>
<body>
<div class="titleDiv"><s:text name="application.title"/></div>  
<h1><s:text name="label.employees"/></h1>          
    <table width=600 align=center>
        <tr> <s:url id="insert" action="setUpForInsertOrUpdate"/>
             <td><s:a href="%{insert}">Click Here to Add New Employee</s:a></td>
         </tr>
    </table><br/>
<table align=center class="borderAll">
    <tr>
        <th><s:text name="label.firstName"/></th>
        <th><s:text name="label.lastName"/></th>
        <th><s:text name="label.age"/></th>
        <th><s:text name="label.department"/></th>
        <th> </th>
    </tr>
    <s:iterator value="employees" status="status">
        <tr class="<s:if test="#status.even">even</s:if><s:else>odd</s:else>">
            <td class="nowrap"><s:property value="firstName"/></td>
            <td class="nowrap"><s:property value="lastName"/></td>
            <td class="nowrap"><s:property value="age"/></td>
            <td class="nowrap"><s:property value="department.name"/></td>
            <td class="nowrap"><s:url id="update" action="setUpForInsertOrUpdate">
                       <s:param name="employee.employeeId" value="employeeId"/>
                    </s:url> <s:a href="%{update}">Edit</s:a>

                                <s:url id="delete" action="delete">
                                   <s:param name="employee.employeeId" value="employeeId"/>
                    </s:url> <s:a href="%{delete}">Delete</s:a>
            </td>
        </tr>       
     </s:iterator>
    </table>
</body>
</html>

2

    <%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
    <link href="<s:url value="/resources/main.css"/>" rel="stylesheet" type="text/css"/>
</head>
<body>
<center>
<div class="titleDiv"><s:text name="application.title"/></div>
<h1><s:if test="employee==null || employee.employeeId == null">
     <s:text name="label.employee.add"/>
   </s:if>
   <s:else>
     <s:text name="label.employee.edit"/>
   </s:else></h1>

    <table width=600 align=center>
        <tr><td><a href="getAllEmployees.action">Click Here to View Employees</a></td>
         </tr>
    </table>     
     <table>
        <tr><td align="left" style="font:bold;color:red">
              <s:fielderror/>
                  <s:actionerror/>
                  <s:actionmessage/></td></tr>
        </table>

    <s:form>
     <table align="center" class="borderAll">

         <tr><td class="tdLabel"><s:text name="label.firstName"/></td>
                    <td><s:textfield name="employee.firstName" size="30"/></td>
         </tr>
        <tr>
            <td class="tdLabel"><s:text name="label.lastName"/></td>
                            <td><s:textfield name="employee.lastName" size="30"/></td>
        </tr>
        <tr><td class="tdLabel"><s:text name="label.age"/></td>
                            <td><s:textfield name="employee.age" size="20"/></td>
        </tr>
         <tr>
            <td class="tdLabel"><s:text name="label.department"/></td>
            <td><s:select name="employee.department.departmentId" 
                list="#session.departments" 
                listKey="departmentId" 
                listValue="name"
                />
            </td>
             <s:hidden name="employee.employeeId"/>
        </tr>
    </table>

    <table> 
        <tr>
          <td><s:submit action="insertOrUpdate" key="button.label.submit" cssClass="butStnd"/></td>
          <td><s:reset key="button.label.cancel" cssClass="butStnd"/></td>
        <tr>
    </table>                 
   </s:form>
</center>       
</body>
</html>

Ответы [ 2 ]

1 голос
/ 02 ноября 2011

для № 1 В файле applicationresource.properties хранится пара ключ-значение. Этот файл доступен в папке WEB-Inf или его путь указывается в файле WEB.xml под тегом. <context-param> <param-name></param-name> <param-value>(specify the application resource file path)</param-value> </context-param>

этот файл содержит пару ключ-значение, какие ключи используются в ваших страницах jsp. Ищите в этом файле label.firstname, label.lastname, и вы получите всю ситуацию.

0 голосов
/ 03 октября 2011

Чтобы ответить на ваши вопросы:

Нет.1. label.firstName может быть получено из любого стека значений, который поддерживается Struts.Это может быть из ресурса сообщения или из свойства класса действия, который пересылает в jsp.Пожалуйста, обратитесь к документу ниже для получения дополнительной информации:

http://struts.apache.org/2.2.3/docs/tag-syntax.html

Нет.2. employee.employeeId может быть ссылкой на переменную employee, установленную в Action, которая пересылает этот jsp.Если вы видите класс Action, который пересылает этот jsp, вы получите что-то вроде private Employee employee; вместе с методами setEmployee(Employee employee) и getEmployee(), которые разделяют эту переменную вне объекта.И если вы увидите объявление класса Employee, вы увидите в нем переменную employeeId.К этой переменной будут обращаться теги struts с помощью метода getter.Здесь это будет getEmployeeId().Я рекомендую вам обратиться по ссылке ниже и просмотреть полные теги, которые можно использовать в Struts2 вместе с их использованием:

http://struts.apache.org/2.2.3/docs/tag-reference.html

В s:select второго jsp,итерации по #session.departments случаются.Здесь departments может быть списком компонента EJB, для которого выполняется итерация.Этот список также входит в сессию.name="employee.department.departmentId" определяет имя генерируемого элемента html select.Вы можете увидеть это, если просматриваете источник html после загрузки страницы в браузере.Тег <s:select/> генерирует выбор html вместе с элементами опции html внутри него.В этом случае, когда итерация происходит в списке departments, к каждому объекту department осуществляется доступ, и его departmentId устанавливается как атрибут value элемента option, а name объекта отдела устанавливается как контент, которыйвы видите в элементе выбора.Для получения дополнительной информации вы можете обратиться к ссылке на тег s: select в приведенной выше ссылке.

...