Since I had some problems with the editors I kept on trying to improve my
understanding of uploading files into mmbase. So I wrote a small example
jsp. Called nieuw.jsp and post.jsp which gave me some problems see the
bottom of the post.

nieuw.jsp full source

<!-- header file importeren -->
<%@ taglib uri="http://www.mmbase.org/mmbase-taglib-1.0"; prefix="mm" %>
<mm:import id="login" externid="login" jspvar="login">0</mm:import>
<%
String method;

if (login.equals("1")) {
        method="http";
} else {
        method="asis";
}
%>
<!-- method op http voor beveiligd op anonymous voor iedereen -->
     <mm:cloud name="mmbase" method="<%=method%>" jspvar="cloud">

<%@ include file="/grabbelton/default/settings.jsp" %>

<% String Titel="Niet beschikbaar";
   String terug="";
   String target="";
%>
<mm:import externid="soort" id="soort" jspvar="soort" >school</mm:import>
<mm:import externid="archief" id="archief" jspvar="archief" >0</mm:import>
<!-- variabelen zetten -->
<% Titel="Er kan nog meer bij in de Grabbelton.";
   terug="../grabbelgrabbel.htm";
 %>
<!-- HTML header importeren -->
<%@ include file="/grabbelton/default/middle.jsp" %>

<!-- HTML body generenen -->
<table>
  <tr>
    <td valign="top">
        <form method="post" action="post.jsp" enctype="multipart/form-data">
          <input type="hidden" name="login" value=1>
          <table>
            <tr>
              <td valign="top">
                <p class=titel>* Titel:</td><td valign=top>
                <input class="titel" type="text" name="titel" size="50"
maxlength="255" value=""/></p>
              </td>
            </tr>
            <tr>
              <td valign="top">
                <p class=tekst>* Omschrijving <br>(Vertel kort waarover het
gaat):</td><td valign=top>
                <TEXTAREA class="tekst" name="omschrijving" rows=15
cols="100"maxlength="64000" /></textarea>
                </p>
              </td>
            </tr>
            <tr>
              <td valign="top">
                <p>* Bestand:</td><td valign=top>
                <mm:fieldlist nodetype="attachments" fields="handle">
                  <mm:fieldinfo type="input"/>
                </mm:fieldlist>
                <B>Het bestand mag maximaal 1MB groot zijn.</B>
                </p>
              </td>
           </tr>
           <tr>
            <td valign="top">
            <p>
            Wat is dit voor iets? </td><td valign="top">
            <SELECT name="plaats">
            <option value="1">Lessen</option>
            </SELECT>
            </p>
            </td>
           </tr>
          </table>
          <input class="knop" type="reset" name="cancel" value="Oops ik
begin op nieuw!" />
          <input class="knop" type="submit" name="submit" value="Toevoegen"
/>
          Je kan alleen iets toevoegen als je een inlog-code hebt!
        </form>
    </td>
  </tr>
  <tr colspan=2>
  Een * betekent een verplicht invoerveld. Indien u een plaatje invoert moet
u o
ok een titel
  en een omschrijving erbij opgeven.
  </tr>
</table>
<!-- footer importeren -->
</BODY></HTML></mm:cloud>

And post.jsp:
<%@ taglib uri="http://www.mmbase.org/mmbase-taglib-1.0"; prefix="mm" %>
<[EMAIL PROTECTED] import="org.mmbase.bridge.*"%>
<%@ include file="/grabbelton/default/settings.jsp" %>
<mm:cloud name="mmbase" method="http" jspvar="cloud">

<%
String account=cloud.getUser().getIdentifier();
%>

<html>
<head>
  <link rel="stylesheet" href="/grabbelton/default/standard.css">
  <title>nieuws opslaan.</title>
</head>
<body class=normaal>

<mm:import externid="submit"/>

<mm:present referid="submit">
 <mm:import externid="titel" jspvar="titel" />
 <mm:import externid="omschrijving" jspvar="omschrijving"/>
 <mm:import externid="plaats" />


 <mm:createnode type="attachments" id="werkstuk">

  <mm:fieldlist type="create">
   <mm:fieldinfo type="useinput"/>
   !<mm:fieldinfo type="guiname"/><br>
  </mm:fieldlist>

  <mm:setfield name="title"><%=titel%></mm:setfield>
  <mm:setfield name="description"><%=omschrijving%></mm:setfield>
  <mm:setfield name="filename">test.doc</mm:setfield>
 </mm:createnode>

 <mm:node referid="werkstuk">
  BLAAT!<BR>
  <mm:nodeinfo type="guitype" /> <BR>
  <mm:fieldlist type="all">
   <em>1<mm:fieldinfo type="guiname" /></em>:
   <mm:fieldinfo type="value" /><br>
  </mm:fieldlist>
  </mm:node>

  <p>
  Bestand is opgeslagen.
  </p>
  <a href="nieuw.jsp">Verder gaan</a>
</mm:present>
<mm:notpresent referid="submit">
   <h2>Sorry er is iets mis gegaan met de opslag.</h2>
   <p>Probeer het <a href="nieuw.jsp">opnieuw</a></p>
</mm:notpresent>

</mm:cloud>
</body>
</html>

Which created the followin output:
!Object
!Type
!Eigenaar
!Titel
!Omschrijving
!MimeType
!Bestandsnaam
!Grootte
!Bestand
BLAAT!
Bijlage

Bestand is opgeslagen.

Verder gaan

And when I change the type all in fieldlist to edit it generates a list with
values of the created node. But as show above with the type all no output at
all. The list isn't even parsed since there is also no list of '1' in the
output. Did I misunderstand the info in the taglib help or is this indeed a
bug?
BTW since I did set the filename my self now the mimetype is found correctly
by mmbase and is put in the database.
BTW sorry for the long post.

Greetings,

Sjoerd de Heer

S&R Solutions
Diezestraat 24
7523 SN Enschede
http://www.sr-solutions.nl


Reply via email to