�t���[�����[�N�E�v���O���~���O�̏����FStruts���g��Web�A�v���P�[�V�����\�z�p�i1�j�i1/2 �y�[�W�j

» 2003�N12��06�� 00��00�� ���J
[�R�c�ˊ��C��IT]

�{�L����2003�N�Ɏ��M���ꂽ���̂ł��BStruts�S�ʂ̍ŐV������IT Java Solutuion�̃J�e�S���uWeb�A�v���P�[�V�����iStruts�AWTP�AJSF�Ȃǁj�v�����Q�Ƃ��������B


�A�v���P�[�V�����E�t���[�����[�N�uStruts�v

�@�����A�Ƃ݂Ɂu�t���[�����[�N�E�v���O���~���O�v�Ƃ������t����肴������邱�Ƃ������Ȃ��Ă��܂����B�����āA�{�e�̃e�[�}�ł�����Struts���܂��A�u�T�[�o�T�C�hJava�v�\�\�T�[�u���b�g�x�[�X�œ��삷��u�A�v���P�[�V�����E�t���[�����[�N�v�̈��ł��B

�@Struts�v���O���~���O�̋�̓I�Ȏ葱�����Љ�Ă����ɐ旧���āA�܂��͂��̃A�v���P�[�V�����E�t���[�����[�N�Ƃ��Ă�Struts�ɂ‚��āA�ȒP�ɉ�����Ă������Ƃɂ��܂��傤�B

���A�v���P�[�V�����̘g�g��

�@�t���[�����[�N�A����̓A�v���P�[�V�������\�z���邤���ł́u�g�g�݁v�ł���A�u���[���v�ł���A�i�ꕾ�����ꂸ�ɂ����΁j�u�����v�ł��B

�@�����A�A�v���P�[�V�����\�z�ɂ�����`�[���J���̏d�v�����܂��܂��N���[�Y�A�b�v����Ă��܂��B�A�v���P�[�V�������܂��܂���K�͉����A�܂��A��V�X�e���̈�p�����S���悤�ɂȂ��Ă��������A���͂�Web �A�v���P�[�V�������P�Ȃ��J���҂̕Ў�Ԏd���ł͂��蓾�Ȃ��Ȃ��Ă����Ƃ������Ƃł��B�v���̕��G���������Ă���̂Ƃ͔����I�ɁA�J���[���͒Z���Ȃ��Ă��܂��B���̒��ŁA�����悭�A���Œ��S�ȃV�X�e�����\�z����ɂ́A���܂��܂ȃX�L���������������̐l�Ԃ̗͂��K�v�ƂȂ��Ă��Ă��܂��B��ʁiUI�j��݌v����f�U�C�i�[�A�A�v���P�[�V�������W�b�N��g�ݗ��Ă�v���O���}�A���邢�̓R���e���c���쐬����ҏW�ҁc�c���܂��܂Ȑl�Ԃɂ�鋦�Ƃ́A���͂�A�v���P�[�V�����J���ɂƂ��ĕK�{�̗v���ł���Ƃ�����ł��傤�B

�@�Ƃ��낪�A���̊J���Ɍg���1�l1�l�����ꂼ�ꏟ��ɁA�A�v���P�[�V�����̌•ʂ̕��i�����n�߂��Ƃ�����ǂ��ł��傤�B���ꂼ��̕��i�͊m���ɍ��i���Ȃ��̂��ł����A�������A�������݂���g�ݍ��킹�悤�Ƃ�����A�ǂ��ɂ������ɂ��‚Ȃ���Ȃ��A�����Ȃ��Ƃ����̂͌����ď΂��b�ł͂Ȃ��̂ł��B�����̐l�Ԃ�1�‚̃V�X�e���ɂ������΁A���ꂾ�����������΁A�ԈႢ���ӎ��̑��������܂��B���؂��Ȏ�茈�߂������‚���ł��A���ꂪ�X�l�ɂ���Ă܂������Ⴄ�󂯎~�ߕ�������Ă����Ƃ����̂́A�����Ē������b�ł͂���܂���i����́A���Ƃ�������Ƃ����J���W�����̃h�L�������g���쐬���Ă����Ƃ��Ă��h������̂ł͂���܂���j�B

�@�����œo�ꂷ��̂��A�v���P�[�V�����E�t���[�����[�N�Ȃ̂ł��B�A�v���P�[�V�����E�t���[�����[�N�́A�ǂ�ȃA�v���P�[�V�����ɂ��K�v�ɂȂ�f�[�^�̓��o�͂�G���[�����A��ʑJ�ڂȂǂ̊�{�I�Ȃ����݂�񋟂��܂��B����́A���‚������悤�ȃ��W�b�N���L�q����K�v���Ȃ��Ȃ�Ƃ����A�u�J�����Y���v�̊ϓ_����݂̂̃����b�g�ł͂���܂���B�t���[�����[�N��p���邱�ƂŁi�t���[�����[�N�ɏ]�����ƂŁj�A�����ړI�ŏ��������W�b�N�Ȃ�΁u�N�������Ă��v�ώ��ȃR�[�h��ۏ؂ł���̂ł��B

�@����̓`�[���J���ɂ����Ă͏d�v�Ȃ��Ƃł��B���ԂƘ����i������j�������ȁi���̂��߁A�����͂��Ⴂ���Ƃ������j�W�����h�L�������g���H���������ă����e�i���X����K�v������܂���B�`�[�����m�Ń��W���[���i���i�j�Ԃ̃C���^�[�t�F�C�X���m�F�������K�v������܂���B�ŏI�I�ɂǂ̂悤�Ƀ��W���[�����������悤���݌v����K�v����Ȃ��̂ł��B�����ɂƂ��ĕK�v�Ȃ��Ƃ͂����u�t���[�����[�N���񋟂��郋�[���v�ɏ]���\�\���ꂾ���ł��B

�@�����Ƃ��A���̂��Ƃ͔��ʂƂ��āu�t���[�����[�N�͐l�Ԃɐ������ۂ��v�Ƃ�����䂦��ł�����܂����A����̓t���[�����[�N���W�����̃��[�����������邱�ƂƂ̗��\�Ƃ������܂��傤�i�W�����h�L�������g�ƈقȂ�A�t���[�����[�N�̓��[����j�����l�Ԃɑ΂��āA�u�G���[�v�Ƃ����`�Ōx���𔭂��܂��j�B�u���̃t���[�����[�N�͂����̊J���̐��ɍ���Ȃ��v�Ɣᔻ����̂͊ȒP�ł����A�t���[�����[�N���񋟂��郋�[���ɃV�X�e�������킹�Ă����̂��A���ꂩ���SE�̎d���Ȃ̂ł͂Ȃ����ƕM�҂͎v���܂��B

��MVC�V�X�e���f�U�C���Ɋ�Â��t���[�����[�N

�@���āAStruts�͂��܂�����A�v���P�[�V�����E�t���[�����[�N�̒��ł��uMVC�V�X�e���f�U�C���v���x�[�X�ɐ݌v���ꂽ�t���[�����[�N�ł��BStruts���̂̋@�\��m��O�ɁA�܂��͂��ėp�I�ȊT�O�Ƃ��āA����MVC�V�X�e���f�U�C���ɂ‚��ďЉ�Ă����܂��傤�B

�@�uMVC�f�U�C���p�^�[���v�́A�A�v���P�[�V������傫���ȉ���3�‚̃��C���i�w�j�ɕ������܂��B

MVC�V�X�e���f�U�C����3�‚̃��C��
�v�f �T�v
M�iModel�j ���W�b�N�̒��j��f�[�^�x�[�X�A�N�Z�X�Ȃǂ��‚����ǂ�A��ʃ��C�A�E�g�Ȃǂ́A�\�w�I�ȃ��C���̉e�����ł��󂯂ɂ������C��
V�iView�j ���[�U�[�C���^�[�t�F�C�X�i�v���[���e�[�V�����w�j�B���̓t�H�[���⏈�����ʂ̏o�͂Ȃǂ��‚����ǂ�A�ł��ϓ��v�f�̑傫�����C��
C�iControl�j View����̓��̓f�[�^��Model�ɐU�蕪���AModel�ł̏������ʂ��ĂѓK�؂�View�Ɋ��蓖�Ă錋�ߕ��B��ʑJ�ڂ�View�EModel�̃}�b�s���O�𐧌䂷��A�A�v���P�[�V�����̃G���W���Ƃ������ׂ����C��

�@MVC��}������ƈȉ��̂悤�ɂȂ�܂��B

MVC�f�U�C���p�^�[����3�‚̃��C�� MVC�f�U�C���p�^�[����3�‚̃��C��

�@MVC�V�X�e���f�U�C���ł́A���̂悤�ɃA�v���P�[�V����������P�ʂɕ������邱�ƂŁA�f�U�C�i�[��v���O���}�i�܂��f�[�^�x�[�X�݌v�҂�ҏW�ҁj�ȂǁA�A�v���P�[�V�����J���Ɍg���l�X�̕��Ɓi���s��Ɓj���”\�ɂ��܂��B��ʏ�́u�����N�����v���X�N���[���̉�������㕔�ɕ\�������悤�ύX��������Ƃ����āA���������v���O���}�̂��Ȃ����o�����Ă����K�v�͂Ȃ��̂ł��B���ꂼ��̕��S�̐l�Ԃ����ꂼ��̊��Ŏ����̎d���ɏW���ł���A����̓`�[���J���ɂ����ċɂ߂ďd�v�Ȃ��Ƃł��傤�B

���A�v���P�[�V�����E�t���[�����[�N�̗��Ƃ���

�@���āA�����܂ŃA�v���P�[�V�����E�t���[�����[�N�����̗��_�΂�����Љ�Ă��܂����B�t���[�����[�N�𗘗p���邱�ƂŁu�J�����Y�������シ��v�u�K�؂ȋ��ƁE���Ƒ̐��ŊJ����i�߂���v�u��X�̃����e�i���X���e�ՂɂȂ�v�ȂǂȂǁA����������𕷂��Ă������͂Ȃɂ�炢�����ƂÂ����̃p���_�C���̂悤�ɕ������܂��B

�@�������A����ł́A�����́u�T�[�o�T�C�hJava�v�A�v���P�[�V�������A�Ȃ�ł�����ł�Struts�ɒu�������Ă��܂��̂��D�܂����̂ł��傤���B����͂͂�����Ɓu�ہv�ł��B

�@Struts�Ɍ��炸�A�����̃t���[�����[�N�́A���Y���E�ێ琫����̎�i�Ƃ��ăA�v���P�[�V�������@�\�P�ʂɕ�������̂���{�ł��B�������A�t�@�C���𕪊�����ƃA�v���P�[�V�����S�̂̍\���������ɂ����Ȃ�̂������ł��B�l�ԂɂƂ��čł��������₷���A����������Ȃ��R�[�h�̋L�q���@�Ƃ́A�����̎葱���^�̋L�@�ɂق��Ȃ�Ȃ��̂ł��B

�@�������A����������ċ@�\�P�ʂɕ�������Ƃ����̂́A���͂�V�X�e�����]���̂悤�Ɂu����āA�͂��I���v�̑㕨�ł͂Ȃ��Ȃ��Ă��Ă��邩��ł��B���̎��X�̃r�W�l�X�v���ɂ���ė����I�ɕύX�����̂�������O�̍����V�X�e���ł́A�����ɕύX�̉e���������肷�邩���܂��A�d�v�ȗv����1�‚ł���Ƃ����܂��傤�B

�@����͔��ʂŁA�v�����Œ�I�ł�����A�����I�ɂ��قǎ������”\�����Ȃ��A���邢�́A�ύX���邭�炢�Ȃ�΍�蒼���������������K�͂ȃA�v���P�[�V�����ɂ����āA�t���[�����[�N�����p����Ӗ������͂��قǂɂȂ��Ƃ������Ƃł��BJSP��T�[�u���b�g�̎d�l�݂̂Ȃ炸�A�t���[�����[�N�̂����݂��w�K���邱�Ƃ́A��͂�J���҂ɂƂ��ď��Ȃ���ʁu���ׁv�ł���A�������ł�����܂��B�t���[�����[�N�̃����b�g�������Ȃ��Ȃ�΁A�����ł������Z�����J���҂ɂ��������]�v�ȕ��ׂ��ۂ��ׂ��ł͂Ȃ��ł��傤�B

�@�t���[�����[�N�́A����܂ł̂��ׂẴA�[�L�e�N�`���������ł������悤�ɁA���������ꏊ�Ől�Ԃ����f���Ďg�p���ׂ��\�\�����܂�1�‚́u�c�[���v�Ȃ̂ł��B

Struts���񋟂����ȋ@�\

�@�Ƃ͂����AStruts��������K�͈ȏ�̃A�v���P�[�V�������i���Ƀ`�[���Łj�J������ǖʂɂ����āA�L�͂ȃc�[���ł��邱�Ƃ͋^���悤������܂���B�ȉ��ł́AStruts��p����Ƃǂ̂悤�Ȃ��Ƃ��ł���̂��A�����̂ǂ�ȍ�Ƃ����������Ă����̂��Ƃ����ϓ_����AStruts�̎�v�ȋ@�\���T�ς��Ă݂邱�Ƃɂ��܂��傤�B

���J�X�^���^�O���C�u����

�@Struts�ł́A�@�\�𖾊m�ɕ�������Ƃ����R���Z�v�g��AView�i�u .jsp �v�t�@�C���j�ɃX�N���v�g���b�g�⎮�\���iExpression�j�̂悤�ȃX�N���v�e�B���O�v�f�����݂�����̂͐�������܂���B

�@������Struts�ł́A�Ǝ��̃J�X�^���^�O��񋟂��邱�ƂŁA�����̕����J��Ԃ��A�G���[�����ȂǁA��ʓI�ɂ悭���p�����悤�ȋ@�\���u�J�X�^���^�O�v�Ƃ����`�Œ񋟂��Ă��܂��B�J�X�^���^�O�𗘗p���邱�ƂŁA

<table border="1">
<tr><th>�^�C�g��</th><th>����</th><th>�o�Ŏ�</th><th>���i</th></tr>
<% for(int i=0;i<aryData.length;i++){ %>
  <tr>
    <td><%=aryData[i].getTitle() %></td>
    <td><%=aryData[i].getAuthor() %></td>
    <td><%=aryData[i].getPublish() %></td>
    <td><%=aryData[i].getPrice() %></td>
  </tr>
<% } %>

</table>

�̂悤�ɋL�q���Ȃ���΂Ȃ�Ȃ������u .jsp �v�t�@�C�����A�ȉ��̂悤�ɋL�q���邱�Ƃ��”\�ɂȂ�܂��B

<table border="1">
<tr><th>�^�C�g��</th><th>����</th><th>�o�Ŏ�</th><th>���i</th></tr>
<logic:iterator id="data" name="aryData" scope="request">
  <tr>
    <td><bean:write name="data" property="title" /></td>
    <td><bean:write name="data" property="author" /></td>
    <td><bean:write name="data" property="publish" /></td>
    <td><bean:write name="data" property="price" /></td>
  </tr>
</logic:iterator>

</table>

�@<%�`%>�i�܂���<%=�`%>�j�ň͂܂ꂽ�X�N���v�g�������A���ׂ�HTML�Ɠ��l�̃^�O�ɒu���������A�ƂĂ��ǂ݂₷���Ȃ��Ă���̂���������ɂȂ�ł��傤���B����Ȃ�΁AHTML�����������Ă��Ȃ��l�Ԃł����Ă��A�i��r�I�j��R�Ȃ����C�A�E�g��ҏW���邱�Ƃ��ł��܂��B

�@Struts�ł͂��̂悤�ȃJ�X�^���^�O���W�߂����C�u�������A���炩���ߗp�ӂ��Ă��܂��BStruts�^�O���C�u�����͋@�\�ʂɁA�傫��5��ނɕ��ނ���܂��B

���Struts�^�O���C�u����
�^�O���C�u���� �T�v
HTML <html:input>��<html:button>�^�O�Ȃǂ���Ȃ�t�H�[�����i�B�ق�HTML�̃t�H�[���^�O�ɑΉ����邪�AModel�Ő������ꂽ�l�̃f�t�H���g�\����G���[���̃t�B�[�h�o�b�N�Ȃǃ��b�`�ȋ@�\��񋟂���
Logic ���������J��Ԃ��A�l�̔�r�ȂǁA�v���O���~���O���ꂪ�񋟂����{�I�Ȑ��䃍�W�b�N���^�O������
Beans Model��������p���ꂽJavaBeans�i�f�[�^�I�u�W�F�N�g�j�ɃA�N�Z�X���邽�߂̎�i��񋟂���B�w�b�_�l��N�b�L�[�ȂǕs�Ž��̃��N�G�X�g�f�[�^�ɂ‚��Ă��ABeans�^�O���C�u��������ăA�N�Z�X���邱�Ƃ��ł���B�܂��A���ۉ��Ή����b�Z�[�W�𐧌䂷��
Nested <nested:nested>�^�O�ň͂܂ꂽ�����̑����i�ϐ��j���𗪋L�”\�Ƃ��܂��B�Ⴆ�΁A�uxxxx.yyyy.zzzz�v�̂悤�ȕϐ����uzzzz�v�ƋL�q���邱�Ƃ��”\�ɂȂ�
Tiles �e���v���[�g�@�\��񋟂���BTiles�𗘗p���邱�ƂŁA�w�b�_�A���j���[�A�R���e���c�Ȃǂ̕�������\��������ʂ𕪊��Ǘ����邱�Ƃ��”\�ɂȂ�A�f�U�C���̓����}��₷���Ȃ�

���A�N�V�����T�[�u���b�g

�@Struts�ɂ�����R�A�G���W���ł��B�A�N�V�����T�[�u���b�g�́A���[�U�[���ʂɗp�ӂ����ݒ�t�@�C������|����ɂ��āA���o�̓f�[�^�̐U�蕪�����ʑJ�ڂ̐�������Ɉ����󂯂܂��BStruts�A�v���P�[�V�����ɂ����ẮA���̃A�N�V�����T�[�u���b�g�̂������ŁAMVC�̂���C�i�R���g���[���j�̋L�q������Ȃ��ȗ͉����邱�Ƃ��”\�ł��BM�i���f���j��V�i�r���[�j�Ƃ������A�v���P�[�V�����ŗL�̋@�\�J���ɐ�O���邱�Ƃ��ł��܂��B

���A�N�V�����t�H�[��Beans

�@���[�U�[����̓��̓f�[�^���i�[���A�r�W�l�X���W�b�N�Ɉ����n�����߂̖������ʂ����܂��B���̓f�[�^�̌��؏�����f�t�H���g�l�̃Z�b�g�ȂǁA����܂ŃA�v���P�[�V�����{���̃��W�b�N�ɍ��݂������ł������������ꌳ�I�ɊǗ����邱�ƂŁA�r�W�l�X���W�b�N���X���������邱�Ƃ��ł��܂��B

�@Struts 1.0.x�܂ł̓��[�U�[������Beans�N���X���L�q����K�v������܂������A1.1�ȍ~�ł͐ݒ�t�@�C���Ɉ����n�����f�[�^�̖��O�ƃf�[�^�^���`���Ă��������ŁA���Ƃ�Struts�������I�Ƀf�[�^�̈����n�����s�����Ƃ��ł���悤�ɂȂ�܂����i�_�C�i�~�b�N�t�H�[��Beans�j�B

��Validator

�@�uValidator�v���܂�Struts 1.1���瓱�����ꂽ�@�\�ł��B�N���C�A���g����̓��̓f�[�^��ݒ�t�@�C���Œ�`���ꂽ���e�i���ؑΏہA�`�F�b�N���e�A�G���[���b�Z�[�W�j�Ɋ�Â��Č��؂��܂��B���؂ɍۂ��āA�R�[�f�B���O�̕K�v�͈�؂���܂���B

�@Validator�ɂ́A�f�t�H���g�ŕK�{�`�F�b�N�A�����񒷃`�F�b�N�A���K�\���`�F�b�N�A�f�[�^�^�`�F�b�N�A���l�͈̓`�F�b�N�Ȃǂ��p�ӂ���Ă��܂����A�J���҂��K�X�K�v�ɉ����Ċg�����邱�Ƃ��”\�ł��B

�����̂ق��̋@�\

�@���̂ق��A�f�[�^�x�[�X�ւ̐ڑ����ꌳ�Ǘ����邽�߂́uDataSource�v�A�N���C�A���g�̑Ή�����ɂ���Č���\�����_�C�i�~�b�N�ɐ؂�ւ���u���ۉ��i i18n �j�@�\�v�A�A�v���P�[�V�����̏������^�j���������s���u�v���O�C���v�ȂǂȂǁA���܂��܂ȋ@�\���p�ӂ���Ă��܂����A�����ɂ‚��Ă��A�ڂ̒��ŁA�����Љ�Ă����\��ł��B

�@�@�@�@�@�@ 1|2 ���̃y�[�W��

Copyright © ITmedia, Inc. All Rights Reserved.

�X�|���T�[����̂��m�点PR

���ڂ̃e�[�}

AI for �G���W�j�A�����O
�u�T�v���C�`�F�[���U���v�΍�
1P��V�X�̂��߂̐Ǝ㐫�Ǘ��^�΍�̌�����
OSS�̃T�v���C�`�F�[���Ǘ��A���ׂ��A�N�V�����Ƃ�
Microsoft �� Windows�őO��2024
�V�X�e���J���m�E�n�E �y�����i�r�zPR
���Ȃ��ɂ������߂̋L��PR

RSS�ɂ‚���

�A�C�e�B���f�B�AID�ɂ‚���

���[���}�K�W���o�^

��IT�̃��[���}�K�W���́A �������A���ׂĖ����ł��B���Ѓ��[���}�K�W�������w�ǂ��������B